Backend system provides restful API for web.
Welcome to OptiMart. This project features a Spring Boot backend combined with a Next.js frontend to deliver a fast, scalable e-commerce platform. The backend handles all business logic and data management, while the frontend ensures a seamless, responsive user experience.
Before you begin, ensure you have met the following requirements:
- Java Development Kit
(JDK) 17or higher installed. - Build tool (e.g.,
Maven) installed. - Database system (e.g.,
PostgreSQL) set up and configured. - Hibernate, JPA
- Docker with docker-compose build
- Restfull API
- PostMan Testing API and Client.
- Send message and receiver using firebase cloud-messaging.
- Using Redis for data caching
Permission-based access control system: Users can be granted specific permissions to perform certain actions, and users with administrative privileges (admins) can precisely assign or restrict access to specific features for other users.
- View Financial & Product Statistics: Admins can access detailed reports on revenue, expenses, and product performance, with the ability to filter by product category or type.
- Manage Order Statuses: Admins can view and update the status of all orders, including processing, shipped, completed, or canceled.
- Edit Reviews & Comments: Admins have the authority to modify or delete user-generated reviews and comments on products to maintain content quality.
- Modify User Info & Roles: Admins can edit user details (e.g., contact information) and change user roles and permissions, such as promoting a user to admin or restricting access to certain features.
- Make Purchases & Payments: Users can browse and buy products with multiple payment methods, including credit cards, bank transfers, and digital wallets.
- Comment & Review Products: Users can leave reviews and ratings on products they’ve purchased, helping other customers make informed decisions.
- Follow & Like Products: Users can follow products or product categories to receive updates on new arrivals or promotions and can like products to save them for future reference.
- View & Edit Order History: Users can view past orders, track order statuses, and update order details, such as shipping addresses or payment methods.
OptiMart provides a comprehensive set of features to empower both admins and users, ensuring a flexible and scalable platform for managing e-commerce activities. The permission-based system ensures precise control over who can access and modify different parts of the platform, while the user features offer a seamless shopping experience.
Follow these steps to set up and run the backend:
git clone https://github.com/ngntu10/OptiMart.git cd Optimart # Using Maven
mvn clean install- Update
application.propertiesorapplication.ymlwith your environments details.
# Using Maven
mvn spring-boot:run git clone https://github.com/ngntu10/OptiMart.git cd Optimart docker-compose -f docker-compose.yml up --buildDocument the API endpoints and their functionalities. You can use tools like Swagger for
automated API documentation.
If you would like to contribute to the development of this project, please follow our contribution guidelines.
This project is licensed under the Apache License.
Apache License
Copyright (c) 2024 Pham Nguyen Tu
