__ __ _ _____ _ _
\ \ / / | | | __ \ | | | |
\ \ /\ / /___ _ __ | | __ ___ _ __ | |__) | ___ _ __ | |_ __ _ | |
\ \/ \/ // _ \ | '__|| |/ // _ \| '__| | _ / / _ \| '_ \ | __|/ _` || |
\ /\ /| (_) || | | <| __/| | | | \ \| __/| | | || |_| (_| || |
\/ \/ \___/ |_| |_|\_\\___||_| |_| \_\\___||_| |_| \__|\__,_||_|
Full-Stack Web application that follows a simple business scenario that allows users to reserve and manage resources(in this case workers)
Current Phase: Transitioning to a Hexagonal Architecture
Next Phase: Migrating to a Microservices Architecture
Overview • Key Features • How To Use • License
Full-Stack Web application that follows a simple business scenario that allows users to reserve and manage resources(in this case workers) A worker renting project made to explore backend development in Spring boot and Quarkus and frontend development in Svelte.
This project was created for "Fundamentals of Network Applications" course on Technical University of Lodz.
- User Management: Different user roles (Admin, Manager, Client) with specific functionalities.
- Rental Management: Manage worker rentals, including creating, updating and ending rentals.
- Validation: Achieved through the use of Data Transfer Objects and annotations from Jakarta Validation
- Exception Handling: Custom exception handling with appropriate HTTP status codes.
- Transaction Management: Ensures data consistency during operations like worker rentals.
- Race Condition Resilience: Implements transactional processing to handle concurrent requests safely.
- Shared Repository Objects: Repository instances are shared across REST requests for efficient resource management.
- Authentication: JWT-based authentication.
- Authorization: Role-based access control.
- User Interface: Intuitive and responsive UI for managing users, workers and rentals.
- Role-Based Views: Different views and functionalities based on user roles (Admin, Manager, Client).
- Authentication: Login, logout, and password change functionality.
- Form Validation: Validation for user inputs in forms.
- Modals and Alerts: Confirmation modals for critical actions and alerts for user feedback.
- Routing: Protected routes based on user roles and authentication status.
To clone and run this application, you'll need Git and Docker From your command line:
# Clone this repository
$ git clone https://github.com/MatixExport/workerRental
# Go into the repository
$ cd workerRental
# Run the app
$ docker compose upIn browser head to http://localhost:8080 and accept certificate.
Frontend site is available on: http://localhost:5173
| Login | Password |
|---|---|
| Client | zaq1@WSX |
| Admin | zaq1@WSX |
| Manager | zaq1@WSX |
MIT
