This Project serves the backend APIs required for Real Dev Squad web projects. This project is built in Express.js.
$ npm install
$ npm start
$ npm run dev
$ npm run validate-setup
- The application uses node-config(documentation) for managing config.
- Create a new file:
config/local.js
. Override the required config values fromconfig/development.js
andconfig/default.js
intoconfig/local.js
. - Register the application for GitHub OAuth to get the
clientId
andclientSecret
. Add the callback URL ashttp://<HOSTNAME>:<PORT>/auth/github/callback
- Create an application on FireStore and generate a service file. Add the service file credentials in the local config (or your env variables) as a string (don't forget to escape the newline in private_key)
- For running the project locally, Firebase Local Emulator Suite can also be used instead of using the remote DB. Steps for setting it up: CONTRIBUTING.md - Using Firebase Emulator Locally
- View the RDS API documentation: Real Dev Squad API
- You can also run the server and navigate to
http://<HOSTNAME>:<PORT>/api-docs
to view the API documentation. - You can import the file API Schema to Postman or SwaggerHub.
- If any API changes have been made:
- Write JS Doc on top of your routes using YAML based annotations in OPEN API 3.0 format.
- Run
npm run generate-api-schema
to generate the API schema. A filepublic/apiSchema.json
will be created/updated.
Check out our video on how to setup the backend here: Wiki link
Read more about contributing to the project: CONTRIBUTING