https://github.com/fanyicharllson/microservices-initial
Microservices for an online shop using spring boot
https://github.com/fanyicharllson/microservices-initial
java kafka microservices mongodb mysql spring spring-boot
Last synced: 3 months ago
JSON representation
Microservices for an online shop using spring boot
- Host: GitHub
- URL: https://github.com/fanyicharllson/microservices-initial
- Owner: fanyicharllson
- Created: 2025-09-15T00:55:09.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-16T23:19:15.000Z (9 months ago)
- Last Synced: 2025-10-16T06:05:32.517Z (8 months ago)
- Topics: java, kafka, microservices, mongodb, mysql, spring, spring-boot
- Language: Java
- Homepage:
- Size: 34.2 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Microservices Online Shop
Welcome to the **Microservices Online Shop** project!
This repository contains a modular and scalable online shop backend built with **Spring Boot** using the microservices architecture pattern.
## Overview
This project demonstrates how to build an e-commerce backend using multiple independently deployable microservices. Each service is responsible for specific business capabilities and communicates with others using REST APIs (and optionally messaging for advanced scenarios).
**Key Microservices (Typical Examples):**
- **User Service**: Handles registration, authentication, profile management.
- **Product Service**: Manages product catalog, details, inventory.
- **Order Service**: Processes customer orders, maintains order history.
- **Payment Service**: Integrates payment gateways, manages transactions.
- **Cart Service**: Handles shopping cart operations.
- **Notification Service**: Sends emails, SMS, or push notifications.
## Features
- Modular microservices for common online shop features
- RESTful APIs built with Spring Boot
- Centralized configuration and discovery (Spring Cloud support)
- Secure authentication and authorization (JWT, OAuth, etc.)
- Database integration (JPA/Hibernate)
- Container-ready (Docker support)
- Easy local development
## Architecture

*Update diagram if available, or remove line if not present.*
Each service runs independently and communicates over HTTP (or messaging). Common patterns like API Gateway, service discovery, centralized logging, and monitoring can be implemented for production deployments.
## Getting Started
### Prerequisites
- Java 17+
- Maven or Gradle
- Docker (optional, for containerized deployment)
- Git
### Clone the Repository
```bash
git clone https://github.com/fanyicharllson/microservices-online-shop.git
cd microservices-online-shop
```
### Build and Run
Each microservice is located in its own directory (e.g., `/user-service`, `/product-service`, etc.).
To build and run a service:
```bash
cd user-service
./mvnw spring-boot:run
```
Repeat for other services as needed.
#### Docker Compose (optional)
If you have a `docker-compose.yml` file, run all services together:
```bash
docker-compose up --build
```
## API Documentation
Each service exposes endpoints via REST.
Use tools like [Swagger/OpenAPI](https://swagger.io/) for auto-generated documentation.
Check `/swagger-ui.html` on each service (if enabled).
## Contributing
Contributions are welcome!
Please open issues and pull requests as needed.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Author
**Fanyicharllson**
---