/backend-omnistack

[Backend] OmniStack course

Primary LanguageJavaScriptMIT LicenseMIT

OmniStack's Back end API

The back end application for TinDev (The dev Tinder) developed using Node.js and Javascript.

See more details in the main repository.

Important: we commited publicly the MongoDB connection to enable an easy configuration and setup for anyone whose want to run the application. But we strongly advise you against this practice. Prefer using dotenv to keep your configuration and variables as it should be - local and SECRET!

Environment setup

  • Install Node.js (v10.16.1 or above) via package manager here
  • Install Yarn for Node package managment instead of npm. Note: install Yarn via package manager like the step before
  • Be happy! :D

Tips

Running the service

You will need to run the command yarn (First time only) to install the Node dependencies that will be stored under node_modules folder.

With the environment set and the dependencies in place, you just need to run the service. Each environment has its own way of starting the service:

  • DEV - run yarn dev to start the server service

Important: After running the command, to test if the service is up and running, try accessing the service root path. Eg: http://localhost:3333/

Dependencies

Roadmap

The 2020 API roadmap

  • User registration endpoint
  • Endpoint to list all profiles to match
  • Like action
  • Dislike action
  • Handle error cases using HTTP codes
  • Endpoint to list all users
  • Authentication via token instead of our current user's ID header that is insecure
  • Enable security levels using user permissions to prevent unauthorized calls. Each endpoint has a security level and a user can only succeed if he has the required permissions
  • Continuous integration with CircleCI 😍
  • Add a Redis DB to store the mapping of userId and WebSockets in order to transform the server to stateless