CellphoneS Clone Website is a pet project aimed to practice building a typical Spring Boot application in Java
- Java 21
- Spring boot 3.2.5
- PostgreSQL
- Firebase Storage
- VnPay
CellphoneS is an e-commerce platform that allows public users, customers, and admin users to interact with various functionalities such as viewing products, managing orders, and handling customer data. The system is divided into modules for public users, registered customers, and administrators
-
Public User: Anyone who visits the site without logging in.
-
Customer: A registered user who can purchase products.
-
Admin: A user with administrative privileges to manage products, orders, customers, and other administrative tasks.
Use Case | Description | Actor | Preconditions | Postconditions |
---|---|---|---|---|
View Products | View product details, featured products, and products by category | Public User | None | None |
Search Products | Search for products based on various criteria | Public User | None | Display search results |
Register | Create a new user account | Public User | None | User account created |
Add to Cart | Add products to shopping cart | Customer | User must be logged in | Product added to cart |
Order Product | Place an order for products in the cart | Customer | Products in cart, user logged in | Order placed |
View My Orders | View past and current orders | Customer | User must be logged in | Display order list |
Search by Image with AI | Upload an image to search for similar products using AI | Customer | User must be logged in | Display search results |
Rate Product | Rate products (one rating per product) | Customer | User must be logged in, not rated before | Rating submitted |
Manage Orders | View, paginate, and change order status | Admin | Admin must be logged in | Order statuses updated |
Manage Products | Create, read, update, delete, and filter products | Admin | Admin must be logged in | Product list updated |
Manage Categories | Create, update, and delete product categories | Admin | Admin must be logged in | Category list updated |
Manage Customers | View, activate, deactivate, and paginate customer records | Admin | Admin must be logged in | Customer list updated |
Authentication | Handle user login, logout, and sessio |
- [JPA & JWT (Hoang Nguyen)] (https://github.com/hoangnd-dev/rookies-java)
- [Springboot Demo (Phu Le)] (https://github.com/phulecse2420/demo)
- NashTech Slide