Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/th3y3m/e-commerce-microservices
An e-commerce platform built using microservices architecture.
https://github.com/th3y3m/e-commerce-microservices
casbin docker-compose ecommerce elasticsearch gin gorm jwt microservices mockery postgresql rabbitmq redis rest
Last synced: 21 days ago
JSON representation
An e-commerce platform built using microservices architecture.
- Host: GitHub
- URL: https://github.com/th3y3m/e-commerce-microservices
- Owner: th3y3m
- License: mit
- Created: 2024-10-14T02:16:10.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-10-23T08:29:05.000Z (23 days ago)
- Last Synced: 2024-10-24T16:47:36.122Z (22 days ago)
- Topics: casbin, docker-compose, ecommerce, elasticsearch, gin, gorm, jwt, microservices, mockery, postgresql, rabbitmq, redis, rest
- Language: Go
- Homepage:
- Size: 290 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
[![CodeQL](https://github.com/th3y3m/e-commerce-microservices/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/th3y3m/e-commerce-microservices/actions/workflows/github-code-scanning/codeql)
[![E-Commerce Microservices (CI applid)](https://github.com/th3y3m/e-commerce-microservices/actions/workflows/ci-script.yml/badge.svg)](https://github.com/th3y3m/e-commerce-microservices/actions/workflows/ci-script.yml)
![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)# 🎉 Welcome to E-commerce Microservices Project 🎉
## 🌟 Overview
This project is an e-commerce platform built using microservices architecture. It leverages various technologies such as PostgreSQL, Redis, RabbitMQ, and Docker to ensure scalability, reliability, and performance.## 🚀 Features
- **Microservices Architecture**: Each service is designed to be independent and scalable.
- **PostgreSQL**: Used as the primary database for storing user and order information.
- **Redis Cache**: Implemented for caching frequently accessed data to improve performance.
- **Email Verification and Order Notifications**: Utilizes `net/smtp` for sending verification emails and order notifications.
- **Social Login**: Supports login via Google and Facebook using `github.com/markbates/goth`.
- **REST API**: Provides a RESTful API for interaction with the services.
- **Service Communication**: Uses RabbitMQ for inter-service communication.
- **Payment Integration**: Integrated with MoMo and VNPay for payment processing.
- **Docker**: Configured to run all services in isolated containers.## 🛠️ Getting Started
### Prerequisites
- Docker
- Docker Compose
- PostgreSQL
- Redis
- RabbitMQ### Installation
1. Clone the repository:
```sh
git clone https://github.com/yourusername/ecommerce-microservices.git
cd ecommerce-microservices
```2. Set up environment variables:
```sh
cp .env.example .env
```3. Update the `.env` file with your configuration details.
4. Build and run the services using Docker Compose:
```sh
docker-compose up --build
```### Usage
- Access the API at `http://localhost:8000/api`.
- Use the provided endpoints to interact with the services.## 📦 Services
### User Service
- Manages user registration, authentication, and profile management.
- Supports social login via Google and Facebook.### Order Service
- Handles order creation, updates, and tracking.
- Sends order notifications via email.### Payment Service
- Integrates with MoMo and VNPay for payment processing.### Notification Service
- Sends email notifications for account verification and order updates.## 🔄 Communication
- Services communicate with each other using RabbitMQ.## ⚡ Caching
- Redis is used to cache frequently accessed data to improve performance.## 🗄️ Database
- PostgreSQL is used as the primary database for storing user and order information.## 🚀 Deployment
- The project is containerized using Docker, making it easy to deploy and scale.## 📜 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.## 🙏 Acknowledgments
- [Mark Bates](https://github.com/markbates/goth) for the `goth` library.
- [MoMo](https://momo.vn) and [VNPay](https://vnpay.vn) for payment integration.#### 📧 Connect with me via: [email protected]
##### © 2024 th3y3m