An e-commerce backend system was requested. The system has the following requirements:
1- To have different categories and products.
2- To have the ability to modify products and categories.
3- Each customer can request an order.
4- The order should indicate the products that are purchased and the date.
I used MySQL database in this project, and I also ensured that the database is normalized in 1NF, 2NF, and 3NF. The backend system is developed using Java Spring Boot framework, as I used:
1- Hibernate to create ORM models
2- JPA for database queries
3- MapStruct for DTO design pattern
4- Liquibase for any change in database schema
The system was developed in MVC software architecture.