Skip to content

A pet shop application with functionalities for pet adoption, product management, and role-based access control using Spring Boot and MySQL. Features include user registration, product catalog, and adoption processes with future improvements like two-factor authentication and customizable themes.

Notifications You must be signed in to change notification settings

LuisaVoicu/PetShop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Pet Shop Application

Author: Laura-Luisa Voicu
Group: 30236

Table of Contents

  1. Project Overview
  2. Deliverables
  3. Conclusion
  4. Bibliography

Project Overview

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.

Deliverables

Deliverable 1

Project Specification

A pet shop application offering functionalities like product management, pet adoption, and role-based access for administrators, sellers, customers, and pet fosterers.

Functional Requirements

  • 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

Use Case Model

Includes scenarios like Admin managing users, Customers buying products, and Sellers managing their products.

UML Use Case Diagrams

Graphical representation of system interactions between users and the application.

Supplementary Specification

Defines non-functional requirements such as security, maintainability, usability, and reliability.

Non-functional Requirements

  • Security: Passwords are hashed for security.
  • Maintainability: Adheres to software design principles.
  • Usability: Easy to navigate UI.
  • Reliability: Extensive testing to ensure stability.

Design Constraints

Constraints include using Java, Spring Boot, and MySQL.

Glossary

Noteworthy terms and their definitions.

Deliverable 2

Domain Model

Conceptual class diagrams representing the structure of the application.

Architectural Design

  • Conceptual Architecture: Utilizes a Layered Architecture.
  • Package Design: Organized into packages based on functionality.

Component and Deployment Diagrams

Graphical representation of the system's components and their deployment.

Deliverable 3

Design Model

  • Dynamic Behavior: Interaction diagrams for login and product shopping.
  • Class Diagram: UML class diagrams applying GoF patterns.

System Testing

Unit tests using JUnit and Mockito for controllers and services.

Future Improvements

  • Two-Factor Authentication
  • Pet fostering pop-ups
  • User report and ban functionality
  • Animated gifs for interactive experience

Conclusion

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.

Bibliography

  1. Implementing Token and Role Base Authentication Using Spring Boot + JWT+ MySQL - YouTube
  2. Spring Boot Testing
  3. Angular Tutorial

About

A pet shop application with functionalities for pet adoption, product management, and role-based access control using Spring Boot and MySQL. Features include user registration, product catalog, and adoption processes with future improvements like two-factor authentication and customizable themes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published