This project represents one of my first complete full-stack web applications, built with the goal of understanding how real-world platforms manage authentication, authorization, and user roles from end to end.
The system simulates the core operations of a car rental agency, with fully implemented JWT-based authentication and authorization, and a clear separation of user responsibilities across three roles:
Built with Node.js and Express, the backend handles core platform logic, including session management, access control, and input validation. Following project specifications, the application uses structured JSON files for data persistenceinstead of a traditional database, offering a clean simulation of CRUD operations and state handling.
The frontend is implemented using Vue 3, offering a smooth and responsive experience. The UI adapts to the logged-in user's role, providing different functionality and views accordingly.
This project was a key step in my web development journey — giving me hands-on experience with stateful backend logic, secure user management, and full-stack communication between client and server in a role-aware application.