Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hoangtien2k3/shopapp-backend
Source backend for website/mobile about electro, e-commerce using Java, using multi-language (EN, VI), and today's popular technologies
https://github.com/hoangtien2k3/shopapp-backend
backend-service docker docker-compose flyway-migrations java kafka mysql8 redis restful-api spring-boot swagger-docs swagger-ui
Last synced: about 5 hours ago
JSON representation
Source backend for website/mobile about electro, e-commerce using Java, using multi-language (EN, VI), and today's popular technologies
- Host: GitHub
- URL: https://github.com/hoangtien2k3/shopapp-backend
- Owner: hoangtien2k3
- Created: 2024-05-17T09:42:07.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-05-22T11:53:58.000Z (8 months ago)
- Last Synced: 2024-05-22T12:18:17.461Z (8 months ago)
- Topics: backend-service, docker, docker-compose, flyway-migrations, java, kafka, mysql8, redis, restful-api, spring-boot, swagger-docs, swagger-ui
- Language: Java
- Homepage:
- Size: 4.13 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Security: SECURITY.md
Awesome Lists containing this project
README
![](images/logo_images.png)
# Shopp App - Backend
Backend system provides restful API for web or mobile.
[![CircleCI](https://circleci.com/gh/piomin/sample-spring-microservices-new.svg?style=svg)](https://app.circleci.com/pipelines/circleci/WpJpWzbAX4Dvhh2AjRnJmX/X6V4xLymFHgq4YEPN1Aiia)
[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-black.svg)](https://sonarcloud.io/project/overview?id=hoangtien2k3_shopapp-backend)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=hoangtien2k3_shopapp-backend&metric=bugs)](https://sonarcloud.io/project/overview?id=hoangtien2k3_shopapp-backend)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=hoangtien2k3_shopapp-backend&metric=coverage)](https://sonarcloud.io/project/overview?id=hoangtien2k3_shopapp-backend)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=hoangtien2k3_shopapp-backend&metric=ncloc)](https://sonarcloud.io/project/overview?id=hoangtien2k3_shopapp-backend)In this project I'm demonstrating you the most interesting features
of [Spring Cloud Project](https://spring.io/projects/spring-cloud) for building microservice-based architecture.## Introduction 💗💎❤️
Welcome to the backend component of `shopp-app backend (e-ecommerce)`. This Java Spring boot backend is designed to
handle the server-side logic and data processing for my application.## Prerequisites 🌀
✅ Before you begin, ensure you have met the following requirements:
- Java Development Kit `(JDK) 17` or higher installed.
- Build tool (`Maven`) installed.
- Database system (e.g., `MySQL8`) set up and configured.
- Liquibase Migration Database `MySql8`
- Reactive Programming with WebFlux Reactor Spring Boot.
- Hibernate, JPA
- Docker build
- Restfull API
- PostMan Testing API and Client.
- Send message and receiver using Kafka server, Zookeeper, Broker.
- Redis cache database
- Flyway migration database version## ✅Features
- Provides all the necessary and most basic APIs of a website or mobile app for Shopp App and E-Ecommerce
## Getting Started
Follow these steps to set up and run the backend:
1. Clone the repository:
```bash
git clone https://github.com/hoangtien2k3/shopapp-backend.git
```#### 1. Navigate to the project directory:
```bash
cd shopapp-backend
```#### 2. Build the project:
```bash
# Using Maven
mvn clean install
```#### 3. Configure the database:
- Update `application.yml` with your mysql database connection details.
#### 4. Run Docker (docker-compose)
```bash
cd shopapp-backend
#run docker-compose
docker-compose up -d
```#### 5. Create [DATABASE](https://github.com/hoangtien2k3/shopapp-backend/blob/master/src/main/resources/database.sql) `shopapp` and add data demo: [DATA-DEMO](https://github.com/hoangtien2k3/shopapp-backend/blob/master/src/main/resources/data_sql.sql) in database Docker
#### 6. Run the application:
```bash
# Using Maven
mvn spring-boot:run
```## Databaes Mysql8
![mysql-8](images/database_diagram.jpg)
## Swagger-ui
[http://localhost:8080/swagger-ui/index.html](http://localhost:8080/swagger-ui/index.html)
![swagger-ui](images/swagger-ui.jpg)
## PostMan Client
![postman-project](images/postman_project.jpg)
## Technologies Used
- `Java`: The primary programming language.
- `Spring Boot`: Framework for building Java-based enterprise applications.
- `Maven/Gradle`: Build tools for managing dependencies and building the project.
- `Database`: Choose and specify the database system used (e.g., MySQL8).
- `Other Dependencies`: List any additional dependencies or libraries used.
- `Cache`: Using redis cache db## API Documentation
Document the API endpoints and their functionalities. You can use tools like `Swagger` for
automated `API documentation`.## Contributing
If you would like to contribute to the development of this project, please follow our contribution guidelines.
![Alt](https://repobeats.axiom.co/api/embed/bfdb10716287df967ceac87f5b14025d135937ec.svg "Repobeats analytics image")
## License
This project is licensed under the [`MIT License`](LICENSE).
```text
MIT License
Copyright (c) 2024 Hoàng Anh Tiến
```## Contributors ✨