Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.1%) to scientific vocabulary

Keywords

commanderjs embedded github-api graphql serial typescript
Last synced: 4 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: AFCMS
  • License: gpl-3.0
  • Language: TypeScript
  • Default Branch: master
  • Homepage:
  • Size: 526 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 8
  • Releases: 0
Topics
commanderjs embedded github-api graphql serial typescript
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

DevPet Backend

NodeJS

Run the project

Install NodeJS

The required version of NodeJS is LTS/Iron (v20) with the PNPM package manager.

You can use NVM to install it.

Install dependencies

bash pnpm install --include=dev

Connect the ESP32 serial port (Linux instructions)

Now we need to connect the DevPet Bluetooth as a serial port to the computer.

You can pair the ESP32 using the normal bluetooth pairing flow.

Using the rfcomm you can connect the device to the /dev/rfcomm0 port.

Install rfcomm under Fedora:

shell sudo dnf install bluez-deprecated

shell sudo rfcomm connect /dev/rfcomm0 <DEVICE ADDRESS> 1

[!NOTE]

The rfcomm utility is deprecated and doesn't have a clear replacement.

Ideally there should be a driver automatically connecting the device as a serial device using BlueZ DBus API

Setup environment variables

You can copy the .env.example file and fill out the values with the following instructions

Serial Port

Set DEVPET_SERIAL_PORT to the serial port where the ESP32 is connected, typically the /dev/rfcomm0 if you used rfcomm as above.

GitHub

Go to your GitHub user account settings in the developper tab, create a new personal access token with the read:user and repo scopes.

Set DEVPET_GITHUB_TOKEN to the given token.

Spotify

Spotify doens't have PATs, so we have to rely on a OAuth2 application (APIs from litteraly all music providers are ridiculeously bad).

First you need to create a new OAuth2 app on the Spotify Developer Dashboard, set the redirect URL to http://localhost:9600/spotify/callback.

Set DEVPET_SPOTIFY_CLIENT_ID and DEVPET_SPOTIFY_CLIENT_SECRET to the given values.

Then you can login to your own OAuth2 app by running the following command and clicking the displayed link:

shell pnpm start spotify-login

Start the backend

shell pnpm start run

Owner

  • Login: AFCMS
  • Kind: user
  • Location: France

👨‍🎓 16 years old french student

Citation (CITATION.cff)

# SPDX-FileCopyrightText: 2024 AFCMS <afcm.contact@gmail.com>
# SPDX-License-Identifier: CC0-1.0

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: DevPet
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - email: afcm.contact@gmail.com
    orcid: 'https://orcid.org/0009-0005-4161-6228'
    given-names: AFCM
repository: 'https://github.com/AFCMS/devpet_meta'
abstract: Personal developer pet
keywords:
  - GitHub
  - PlatformIO
  - ESP32
  - NodeJS
  - Serial
  - Bluetooth
  - GraphQL
license: GPL-3.0-or-later

GitHub Events

Total
  • Issues event: 1
Last Year
  • Issues event: 1

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 18
  • Total pull requests: 127
  • Average time to close issues: 10 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.39
  • Average comments per pull request: 0.36
  • Merged pull requests: 78
  • Bot issues: 0
  • Bot pull requests: 121
Past Year
  • Issues: 16
  • Pull requests: 127
  • Average time to close issues: 7 days
  • Average time to close pull requests: 3 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.44
  • Average comments per pull request: 0.36
  • Merged pull requests: 78
  • Bot issues: 0
  • Bot pull requests: 121
Top Authors
Issue Authors
  • AFCMS (11)
  • AKArien0 (1)
  • dependabot[bot] (1)
Pull Request Authors
  • dependabot[bot] (157)
  • AFCMS (6)
Top Labels
Issue Labels
enhancement (10) dependencies (1) javascript (1) documentation (1) good first issue (1)
Pull Request Labels
dependencies (157) javascript (157) enhancement (3)

Dependencies

.github/workflows/nodejs.yml actions
  • actions/checkout v4 composite
  • actions/setup-node v4 composite
package.json npm
  • @eslint/js ^9.1.1 development
  • @types/node ^20.12.8 development
  • eslint ^8.57.0 development
  • globals ^15.1.0 development
  • typescript ^5.4.5 development
  • typescript-eslint ^7.8.0 development
  • chalk ^5.3.0
  • commander ^12.0.0
  • dotenv ^16.4.5
  • octokit ^3.2.0
  • serialport ^12.0.0
pnpm-lock.yaml npm
  • aix-ppc64@0.21.5
  • android-arm64@0.21.5
  • android-arm@0.21.5
  • android-x64@0.21.5
  • app@15.1.0
  • auth-app@7.1.0
  • auth-oauth-app@8.1.1
  • auth-oauth-device@7.1.1
  • auth-oauth-user@5.1.1
  • auth-token@5.1.1
  • auth-unauthenticated@6.1.0
  • aws-lambda@8.10.140
  • binding-mock@10.2.2
  • bindings-cpp@12.0.1
  • bindings-interface@1.2.2
  • body-parser@1.19.5
  • config-array@0.11.14
  • connect@3.4.38
  • core@6.1.2
  • darwin-arm64@0.21.5
  • darwin-x64@0.21.5
  • endpoint@10.1.1
  • eslint-plugin@7.14.1
  • eslint-utils@4.4.0
  • eslintrc@2.1.4
  • express-serve-static-core@4.19.5
  • express@4.17.21
  • freebsd-arm64@0.21.5
  • freebsd-x64@0.21.5
  • fs.scandir@2.1.5
  • fs.stat@2.0.5
  • fs.walk@1.2.8
  • graphql@8.1.1
  • http-errors@2.0.4
  • js@8.57.0
  • js@9.5.0
  • linux-arm64@0.21.5
  • linux-arm@0.21.5
  • linux-ia32@0.21.5
  • linux-loong64@0.21.5
  • linux-mips64el@0.21.5
  • linux-ppc64@0.21.5
  • linux-riscv64@0.21.5
  • linux-s390x@0.21.5
  • linux-x64@0.21.5
  • mime@1.3.5
  • module-importer@1.0.1
  • netbsd-x64@0.21.5
  • node@20.14.9
  • oauth-app@7.1.3
  • oauth-authorization-url@7.1.1
  • oauth-methods@5.1.2
  • object-schema@2.0.3
  • openapi-types@22.2.0
  • openapi-webhooks-types@8.2.1
  • openbsd-x64@0.21.5
  • parser-byte-length@12.0.0
  • parser-cctalk@12.0.0
  • parser-delimiter@11.0.0
  • parser-delimiter@12.0.0
  • parser-inter-byte-timeout@12.0.0
  • parser-packet-length@12.0.0
  • parser-readline@11.0.0
  • parser-readline@12.0.0
  • parser-ready@12.0.0
  • parser-regex@12.0.0
  • parser-slip-encoder@12.0.0
  • parser-spacepacket@12.0.0
  • parser@7.14.1
  • plugin-paginate-graphql@5.2.2
  • plugin-paginate-rest@11.3.0
  • plugin-rest-endpoint-methods@13.2.1
  • plugin-retry@7.1.1
  • plugin-throttling@9.3.0
  • qs@6.9.15
  • range-parser@1.2.7
  • regexpp@4.10.1
  • request-error@6.1.1
  • request@9.1.1
  • scope-manager@7.14.1
  • send@0.17.4
  • serve-static@1.15.7
  • stream@12.0.0
  • structured-clone@1.2.0
  • sunos-x64@0.21.5
  • type-utils@7.14.1
  • types@13.5.0
  • types@7.14.1
  • typescript-estree@7.14.1
  • utils@7.14.1
  • visitor-keys@7.14.1
  • web-api-ts-sdk@1.2.0
  • webhooks-methods@5.1.0
  • webhooks@13.2.7
  • win32-arm64@0.21.5
  • win32-ia32@0.21.5
  • win32-x64@0.21.5