{"id":22454598,"url":"https://github.com/ngntu10/optimart","last_synced_at":"2025-08-02T02:31:32.818Z","repository":{"id":250072740,"uuid":"833393173","full_name":"ngntu10/OptiMart","owner":"ngntu10","description":"Optimart: A full-stack e-commerce platform with a Spring Boot backend and Next.js frontend for a modern, scalable user experience.","archived":false,"fork":false,"pushed_at":"2024-10-24T07:52:50.000Z","size":374,"stargazers_count":31,"open_issues_count":1,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-25T04:10:46.356Z","etag":null,"topics":["java","jwt","oauth2","postgresql","spring-boot","spring-data-jpa","spring-security"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ngntu10.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-25T00:51:59.000Z","updated_at":"2024-10-24T07:52:54.000Z","dependencies_parsed_at":"2024-09-11T03:24:43.351Z","dependency_job_id":"f5e040b2-6cc8-4b82-81ee-5db434f21724","html_url":"https://github.com/ngntu10/OptiMart","commit_stats":null,"previous_names":["ngntu10/optimart"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngntu10%2FOptiMart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngntu10%2FOptiMart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngntu10%2FOptiMart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngntu10%2FOptiMart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ngntu10","download_url":"https://codeload.github.com/ngntu10/OptiMart/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228426119,"owners_count":17917790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jwt","oauth2","postgresql","spring-boot","spring-data-jpa","spring-security"],"created_at":"2024-12-06T07:08:40.351Z","updated_at":"2024-12-06T07:08:40.985Z","avatar_url":"https://github.com/ngntu10.png","language":"Java","readme":"\n![Optimart](https://socialify.git.ci/ngntu10/Optimart/image?description=1\u0026font=Bitter\u0026forks=1\u0026issues=1\u0026language=1\u0026logo=https%3A%2F%2Fi.ibb.co%2FyYDzpBG%2Fngntu1.jpg\u0026name=1\u0026owner=1\u0026pattern=Floating%20Cogs\u0026stargazers=1\u0026theme=Dark)\n# 🛍️ Optimart\n\nBackend system provides restful API for web.\n\n[//]: # ([![CircleCI]\u0026#40;https://circleci.com/gh/piomin/sample-spring-microservices-new.svg?style=svg\u0026#41;]\u0026#40;https://sonarcloud.io/project/issues?resolved=false\u0026id=hoangtien2k3_ecommerce-microservices\u0026#41;)\n\n\n[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-black.svg)](https://sonarcloud.io/project/configuration?id=ngntu10_OptiMart)\n\n## Introduction\n\n\nWelcome 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.\n\n## Prerequisites\n\nBefore you begin, ensure you have met the following requirements:\n\n- Java Development Kit `(JDK) 17` or higher installed.\n- Build tool (e.g., `Maven`) installed.\n- Database system (e.g.,`PostgreSQL`) set up and configured.\n- Hibernate, JPA\n- Docker with docker-compose build\n- Restfull API\n- PostMan Testing API and Client.\n- Send message and receiver using firebase cloud-messaging.\n- Using Redis for data caching\n\n## OptiMart Features\n\n\n**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.\n\n### Admin Features\n\n- **View Financial \u0026 Product Statistics**: Admins can access detailed reports on revenue, expenses, and product performance, with the ability to filter by product category or type.\n- **Manage Order Statuses**: Admins can view and update the status of all orders, including processing, shipped, completed, or canceled.\n- **Edit Reviews \u0026 Comments**: Admins have the authority to modify or delete user-generated reviews and comments on products to maintain content quality.\n- **Modify User Info \u0026 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.\n\n### User Features\n\n- **Make Purchases \u0026 Payments**: Users can browse and buy products with multiple payment methods, including credit cards, bank transfers, and digital wallets.\n- **Comment \u0026 Review Products**: Users can leave reviews and ratings on products they’ve purchased, helping other customers make informed decisions.\n- **Follow \u0026 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.\n- **View \u0026 Edit Order History**: Users can view past orders, track order statuses, and update order details, such as shipping addresses or payment methods.\n\n## Conclusion\n\nOptiMart 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.\n\n## Getting Started\n\nFollow these steps to set up and run the backend:\n\n### Method 1: Clone the Repository and Run Locally\n\n```bash\n   git clone https://github.com/ngntu10/OptiMart.git\n```\n\n#### 1. Navigate to the project directory:\n\n```bash\n  cd Optimart\n```\n\n#### 2. Build the project:\n\n```bash\n  # Using Maven\n  mvn clean install\n```\n\n#### 3. Configure the environments:\n\n- Update `application.properties` or `application.yml` with your environments details.\n\n#### 4. Run the application:\n\n\n\n```bash\n  # Using Maven\n  mvn spring-boot:run\n```\n\n### Method 2: Run the Application Using Docker Compose\n```bash\n   git clone https://github.com/ngntu10/OptiMart.git\n```\n\n#### 1. Navigate to the project directory:\n\n```bash\n  cd Optimart\n```\n\n#### 2. Build and start the containers using Docker Compose:\n\n```bash\n  docker-compose -f docker-compose.yml up --build\n```\n\n[//]: # ()\n[//]: # (## Demo)\n\n[//]: # (![1715441188385]\u0026#40;https://github.com/user-attachments/assets/ea07616a-5404-4ccd-bab0-b472b67a061a\u0026#41;)\n\n## API Documentation\n\nDocument the API endpoints and their functionalities. You can use tools like `Swagger` for\nautomated `API documentation`.\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=ngntu10/Optimart\u0026type=Date)](https://star-history.com/#ngntu10/Optimart\u0026Date)\n\n\n## Contributing\n\nIf you would like to contribute to the development of this project, please follow our contribution guidelines.\n\n![Alt](https://repobeats.axiom.co/api/embed/fd7fd76dafe452bdb7c2bc12856bd45c277ee732.svg \"Repobeats analytics image\")\n## License\n\nThis project is licensed under the [`Apache License`](LICENSE).\n\n```text\nApache License\nCopyright (c) 2024 Pham Nguyen Tu\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngntu10%2Foptimart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fngntu10%2Foptimart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngntu10%2Foptimart/lists"}