Skip to content
 
 

Repository files navigation

 __          __           _                 _____               _          _ 
 \ \        / /          | |               |  __ \             | |        | |
  \ \  /\  / /___   _ __ | | __ ___  _ __  | |__) | ___  _ __  | |_  __ _ | |
   \ \/  \/ // _ \ | '__|| |/ // _ \| '__| |  _  / / _ \| '_ \ | __|/ _` || |
    \  /\  /| (_) || |   |   <|  __/| |    | | \ \|  __/| | | || |_| (_| || |
     \/  \/  \___/ |_|   |_|\_\\___||_|    |_|  \_\\___||_| |_| \__|\__,_||_|
                                                                             
                                                                             

Full-Stack Web application that follows a simple business scenario that allows users to reserve and manage resources(in this case workers)

🚧 ${\text{\color{#FEF1BA}Work in Progress:}}$

Current Phase: Transitioning to a Hexagonal Architecture

Next Phase: Migrating to a Microservices Architecture

Project list:

Java Spring Docker MongoDB

Svelte JavaScript TailwindCSS NPM

Related projects:

Java Quarkus Docker MongoDB

Java Spring Thymeleaf

OverviewKey FeaturesHow To UseLicense

Working application

Overview

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.

Key Features

Backend (Spring Boot)

  • 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.

Frontend (Svelte)

  • 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.

How To Use

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 up

In browser head to http://localhost:8080 and accept certificate.

Frontend site is available on: http://localhost:5173

Default user accounts

Login Password
Client zaq1@WSX
Admin zaq1@WSX
Manager zaq1@WSX

License

MIT

About

Full-Stack Web application that follows a simple business scenario that allows users to reserve and manage resources(in this case workers)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages