This Project serves the backend APIs required for Real Dev Squad web projects. This project is built in Express.js.
- 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. Make sure you convert all the escape sequence (newline) -
\n
with\\n
in private_key field. - 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
Please install yarn
and volta
To install Volta, please follow the process
Install all the packages using the following command:
yarn
Now if one runs yarn install. The yarn.lock will be unexpectedly updated with an unknown future version of a dependency, potentially breaking the build in the future. To ensure that the yarn.lock file is not update, you will need to use the --frozen-lockfile flag.
yarn install --frozen-lockfile
This command should be successful, before moving to development.
yarn validate-setup
Head over to TDD Tests Files List, and add the list of your new (or old) test files.
You can use wildcard '*' in the filepaths
Run TDD in watch mode. Exiting this command will print the coverage report. Try to achieve 100% coverage.
yarn tdd:watch
yarn dev
- Install packages
yarn
- Run tests
yarn run test
- Prune dev dependencies
npm prune --production
- Run start command (with port information)
yarn start
Note: These are handled automatically behind the scene when pushing to Heroku
Check out our video on how to setup the backend here: Wiki link
Read more about contributing to the project: CONTRIBUTING