Mercibus is a personal practice project for building an e-commerce application using microservices architecture.
Manages:
- User registration & login
- Role-based access control
- JWT authentication & token refresh
- Email confirmation & password resets
Handles:
- Product, brand & category management
- Product image and attribute definitions
- Product reviews
Handles:
- Order creation & management
- Order updates via events
Handles:
- Payment processing with Xendit
- Payment status via webhooks
- .NET 8 (C#) for service implementation
- Entity Framework Core for data access
- PostgreSQL as the main database
- RabbitMQ for message-based communication
- Docker & Docker Compose for containerization
- xUnit + Moq + Testcontainers for testing
- SonarCloud for static analysis & code coverage
- GitHub Actions for CI/CD
git clone https://github.com/cardosakv/mercibus.gitExample:
cd mercibus/services/authdocker-compose up -d- Gateway:
http://localhost:9000 - Auth Service:
http://localhost:9000/swagger-auth/index.html - Catalog Service:
http://localhost:9000/swagger-catalog/index.html - Order Service:
http://localhost:9000/swagger-order/index.html - Payment Service:
http://localhost:9000/swagger-payment/index.html