Skip to content

Latest commit

 

History

History
48 lines (38 loc) · 1.08 KB

File metadata and controls

48 lines (38 loc) · 1.08 KB

What is this

Another roadmap.sh project, this one is a RESTful API, express, using mariaDB for user, task, and refresh token data and redis for rate limiting. The instructions on how to use it are pretty much explained on the roadmap website

How to run

  1. clone the repo

  2. install dependencies

npm i
  1. Have a mariadb database server running as wall as a redis-server instance

  2. and create a .env file on the root folder with the following template:

JWT_SECRET=<your jwt secret>
JWT_REFRESH_SECRET=<your refresh token secret>
DB_HOST=<mysqlmariadb credentials>
DB_USER=<ditto>
DB_PASSWORD=<ditto>
DB_NAME=<ditto>
DB_PORT=<port>
  1. start the application
npm start

Bonus features:

  • Refresh Token mechanism (with JWT)
  • Automatic Refresh token reuse detection
  • Rate limiting with REDIS
  • unit testing
  • task filtering and sorting

Built with:

  • express (http client)
  • sequelize (ORM)
  • eslint (linting)
  • redis (rate limiting)
  • bcryptjs (password hashing)
  • lots of other stuff