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) 17
or 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.properties
orapplication.yml
with 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 --build
Document 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