Author: Laura-Luisa Voicu
Group: 30236
The project represents a pet shop application with functionalities for adopting and giving up pets for adoption. Different user roles include Administrator, Sellers, Customers, and Pet Fosterers. The application features an authentication system using Spring Security.
A pet shop application offering functionalities like product management, pet adoption, and role-based access for administrators, sellers, customers, and pet fosterers.
- User registration and authentication
- Customer features: Browse, filter, wishlist, and purchase products
- Seller features: Create, update, and manage products
- Pet Foster features: Manage pet adoption listings
- Administrator features: Manage users, products, and pet types
Includes scenarios like Admin managing users, Customers buying products, and Sellers managing their products.
Graphical representation of system interactions between users and the application.
Defines non-functional requirements such as security, maintainability, usability, and reliability.
- Security: Passwords are hashed for security.
- Maintainability: Adheres to software design principles.
- Usability: Easy to navigate UI.
- Reliability: Extensive testing to ensure stability.
Constraints include using Java, Spring Boot, and MySQL.
Noteworthy terms and their definitions.
Conceptual class diagrams representing the structure of the application.
- Conceptual Architecture: Utilizes a Layered Architecture.
- Package Design: Organized into packages based on functionality.
Graphical representation of the system's components and their deployment.
- Dynamic Behavior: Interaction diagrams for login and product shopping.
- Class Diagram: UML class diagrams applying GoF patterns.
Unit tests using JUnit and Mockito for controllers and services.
- Two-Factor Authentication
- Pet fostering pop-ups
- User report and ban functionality
- Animated gifs for interactive experience
This pet shop application offers a user-friendly experience for customers, sellers, and pet fosterers with secure authentication and a robust feature set. Future enhancements aim to improve trust and personalization.