/website-backend

The backend code for all our website-related apps

Primary LanguageJavaScript

GitHub Workflow Status GitHub issues JavaScript Style Guide

Real Dev Squad API

Table of Contents

About the Project

This Project serves the backend APIs required for Real Dev Squad web projects. This project is built in Express.js.

Running the Project

$ npm install
$ npm start

Running in dev mode

$ npm run dev

Test local setup

$ npm run validate-setup

Prerequisites

  • The application uses node-config(documentation) for managing config.
  • Create a new file: config/local.js. Override the required config values from config/development.js and config/default.js into config/local.js.
  • Register the application for GitHub OAuth to get the clientId and clientSecret. Add the callback URL as http://<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

API Documentation:

  • 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 file public/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