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!
- Install Node.js (v10.16.1 or above) via package manager here
- Homebrew for macOS
- Chocolatey for Windows
- Install Yarn for Node package managment instead of npm. Note: install Yarn via package manager like the step before
- Be happy! :D
- Use VSCode as the IDE and set the following extensions:
- Download and set Firacode as the font and enable font programming ligatures on VSCode
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/
- We use MongoDB as our database.
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