In this project, I developed an office reservation app. This app should have CRUD operations for Organizations, Offices and Desks that are working with a Mongo database. Only a logged-in user can use these CRUD operations. In this app, I register a user with an endpoint. I develop a Jason Web Token (JWT) refresh and access token mechanism for handling user security.
- Project is implemented in NodeJs
- Project design is up to my creativity
- Project is implemented with Typescript
- Schemas with Zod are used for validation
- NodeJs security with any library that I prefer that enables refresh and access tokens is used to implement user login
- There are roles for each user like "SUPER_ADMIN, ADMIN , USER"
- SUPER_ADMIN is able to list all organizations, create organizations and offices.
- ADMIN is able to create Users for his or her organization.
- There is a Swagger UI documentation for each endpoint.
- There is a cron job that deletes desk reservations at the end of each month
In order to install required packages, once you clone the code first run the command below:
npm install
To run the app:
npm run dev