Work group for the Web Applications project.
- Emanuele Artusi — XXXXXXX
- Filippo Bellon — XXXXXXX
- Giovanni De Maria — XXXXXXX
- Jacopo Giubilato — XXXXXXX
- Andrea Di Tillo — XXXXXXX
The main idea is to develop a Tool Sharing web application, designed as a community platform where private users can share and rent tools with each other. The goal is to allow people to access tools such as screwdrivers, hammers, drills, lawn mowers, and similar equipment without needing to purchase and store them.
Users who own tools can make them available on the platform, earning money by renting them out when not in use. At the same time, other users can request to borrow these tools for a limited time, reducing costs and avoiding unnecessary purchases.
The platform also supports features such as tool browsing, detailed tool pages, user reviews, and booking request management, creating a complete and user-friendly tool sharing ecosystem.
It is recommended to install the following components to run the project:
- Docker Compose Plugin (v5.0.1) or Docker Desktop.
- Apache Maven, preferably version 3.8.7
- Java Development Kit (JDK), version 21.0.10
These will make sure that the project will run in the same conditions as the development environment.
Once the requirements are met, there's no need to install anything. It is sufficient to run the docker-compose.yml file with Docker Desktop (Windows, Mac, Linux) or by running docker compose up in a terminal, inside the same directory as the YAML (linux).
This will start the webapp.
To test the application and its functionalities it is recommended to use the following links:
- Home page, which allows to signup in the website, login, logout and redirect to other pages like catalogue and the profile page.
- Catalogue page, which lists all the tool made available by all the users. By visiting the page of the object details, the user can make a rental request for the object.
- User info page, where the user can find and modify his information, see and manage the list of request made by him for other people tools and by others for his tools.
- Tool create, update and delete page, used to test the backend used to manage the user own tools.
- Artusi Emanuele: Database design and population, catalogue implementation (class, DAO, servlet, jsp), tool details page (DAO, servlet, jsp, linking various services), review management (class, DAOs, servlets), report template and section writing;
- Bellon Filippo: Implementation of login, signup, logout and home servlet classes along with respective jsp pages; implementation of login, signup and user information retrieving DAOs; implementation of user information retrieving REST class and contribution to REST endpoint development; contribution to utils classes development; implementation of docker compose services for latex report compilation; contribution to report diagrams and section writing;
- De Maria Giovanni: Tool creation, update and deletion implementations (servlet classes and jsp pages, DAOs, REST class), tools’ photo management and contributions to report section writing;
- Di Tillo Andrea: Implementation of the rental request management and retrieval system (class, DAO, servlet and REST resources). Implementation of the frontend AJAX logic for dynamic fetching and display of rental information. Contribution to the REST dispatcher servlet and report writing;
- Giubilato Jacopo: Implementation of the system used to create a new rental request (DAO, servlet and JSPs). Implementation of the security filters (Servlets and Javascript). Implementation of the login rest system with JWT (Servlet and Javascript). Implementation of the rest system used to update the user information (DAO, servlet and AJAX). Contribution in the rest dispatcher servlet and in the creation of the email system. Creation of mockup with balsamiq. Creation of ER schema.
9.5/9
PRESENTATION
- Good slides, both conveying the idea and providing technical details on the implementation
- Good interface, functioning, and responsive
CONTRIBUTION TO THE HOMEWORK:
- Good separation of the work among the components of the group.
