Access Control and Coworking Space Management Project
An access control and management application for the coworking space Las Naves.
Users can register, check in and out of rooms, make reservations, and view real-time room availability.
Administrators can also monitor user entry and exit, as well as generate detailed administrative reports.
You can find the related frontend project here: LasNaves_Frontend
- Clone the repository
$ git clone https://github.com/MandySpaan/LasNaves_Backend
- Install dependencies
$ npm install --y
- Copy the file .env.example, change the name to .env and fill in all the fields
- Plant the seeds into the tables
$ npm run db:seed
- Start the server
$ npm run dev
You can find the related frontend project here: LasNaves_Frontend
- Clone the repository
$ git clone https://github.com/MandySpaan/LasNaves_Frontend
- Install dependencies
$ npm install --y
- Start the server
$ npm run dev
You can find all endpoints as Postman documentation here: Endpoints Las Naves
The collection is public and can be imported by clicking on "Run in Postman"
Ongoing work includes the following:
-
For users:
- Change your own email address
- Retrieve your own access history
-
For admins:
- Generate weekly and monthly reports
-
For super admins:
- Create, update and delete rooms
- Update and deactivate users
Areas for improvement include the following:
-
Security:
- Logging failed attemps for wrong password
- Rate limiting for request password reset and resend validation email
-
Logging:
- Implement error logging for database operations
- Create a centralized logging system for tracking application errors
-
Tests:
- Implement automated testing for critical functions and API endpoints
- Establish a process for running tests consistently