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
-
clone the repo
-
install dependencies
npm i-
Have a mariadb database server running as wall as a redis-server instance
-
and create a
.envfile 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>- start the application
npm startBonus features:
- Refresh Token mechanism (with JWT)
- Automatic Refresh token reuse detection
- Rate limiting with REDIS
- unit testing
- task filtering and sorting
- express (http client)
- sequelize (ORM)
- eslint (linting)
- redis (rate limiting)
- bcryptjs (password hashing)
- lots of other stuff