This is a simple REST API demonstrating the following skills and functionalities:
- CRUD operations
- Authentication
- Authorization
- Pagination
- code quality
- testing
- documentation
- deployment
- dockerization
- memoization
- Node.js
- Express.js
- Prisma ORM
- Jest
- Docker
- TypeScript
- MySQL
- install the dependencies
npm install
- copy the .env.example file to .env, and update the values as per your environment
# copy the .env.example file to .env
cp .env.example .env
- setup the database
npx prisma reset
# this will run the migrations and seed the database
- start the server
npm run start
- copy the .env.example file to .env.
# copy the .env.example file to .env
cp .env.example .env
- setup the database before running docker. You can either install the dependencies and run the prisma as mentioned in the normal installation or can manually run the SQL migrations and seed the database.
- build and run the docker container
docker compose up
make sure the database in seeded before running the tests
run the following command to run the tests
npm run test
The endpoints and responses are included in postman collection in the docs folder.
The solution is in the problem-solving folder.