https://github.com/eliasbui/market-account
Vibe coding with cursor and task master ai
https://github.com/eliasbui/market-account
clean-architecture dotnet golang vibe-coding
Last synced: 5 months ago
JSON representation
Vibe coding with cursor and task master ai
- Host: GitHub
- URL: https://github.com/eliasbui/market-account
- Owner: eliasbui
- License: mit
- Created: 2025-06-26T17:34:01.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2025-06-26T19:18:41.000Z (5 months ago)
- Last Synced: 2025-06-26T19:19:24.773Z (5 months ago)
- Topics: clean-architecture, dotnet, golang, vibe-coding
- Language: C#
- Homepage:
- Size: 173 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Market Account - Microservices Platform
A comprehensive e-commerce marketplace built with microservices architecture, implementing Clean Architecture principles across multiple programming languages.
## ๐๏ธ Architecture Overview
This project implements a polyglot microservices architecture with the following services:
- **User Service** (Go) - User authentication and management
- **Product Service** (C#/.NET) - Product catalog and inventory
- **Payment Service** (Python) - Payment processing and transactions
- **API Gateway** (Node.js) - GraphQL gateway with service orchestration
## ๐ ๏ธ Technology Stack
### Core Technologies
- **Go** - User Service with Gin framework
- **C#/.NET 8** - Product Service with ASP.NET Core
- **Python** - Payment Service with FastAPI
- **Node.js** - API Gateway with Apollo GraphQL
### Infrastructure
- **PostgreSQL** - Primary database for all services
- **Redis** - Caching and session management
- **Apache Cassandra** - Analytics and time-series data
- **RabbitMQ** - Message queue for event-driven architecture
- **Docker & Docker Compose** - Containerization and orchestration
### Communication
- **GraphQL** - API Gateway and external client communication
- **gRPC** - Internal service-to-service communication
- **REST APIs** - External integrations
- **Message Queues** - Asynchronous event processing
## ๐ Project Structure
```
market-account/
โโโ services/
โ โโโ user-service-go/ # Go microservice
โ โ โโโ domain/ # Business entities
โ โ โโโ application/ # Use cases & interfaces
โ โ โโโ infrastructure/ # Data access & external services
โ โ โโโ web/ # HTTP handlers & routing
โ โ โโโ go.mod
โ โ โโโ main.go
โ โ
โ โโโ product-service-dotnet/ # .NET microservice
โ โ โโโ Domain/ # Domain layer
โ โ โโโ Application/ # Application layer
โ โ โโโ Infrastructure/ # Infrastructure layer
โ โ โโโ WebApi/ # Presentation layer
โ โ โโโ ProductService.sln
โ โ
โ โโโ payment-service-python/ # Python microservice
โ โ โโโ domain/ # Domain models
โ โ โโโ application/ # Application services
โ โ โโโ infrastructure/ # Infrastructure layer
โ โ โโโ web/ # Web controllers
โ โ โโโ requirements.txt
โ โ
โ โโโ api-gateway-node/ # Node.js API Gateway
โ โโโ src/
โ โ โโโ domain/ # GraphQL schemas
โ โ โโโ application/ # Service orchestration
โ โ โโโ infrastructure/ # External service clients
โ โ โโโ web/ # GraphQL resolvers
โ โโโ package.json
โ
โโโ docker-compose.yml # Multi-service orchestration
โโโ .taskmaster/ # Task management
โโโ README.md
```
## ๐ Quick Start
### Prerequisites
- Docker & Docker Compose
- Git
### Development Setup
1. **Clone the repository**
```bash
git clone
cd market-account
```
2. **Start all services**
```bash
docker-compose up -d
```
3. **Verify services are running**
```bash
docker-compose ps
```
### Service Endpoints
| Service | Port | Endpoint | Description |
|---------|------|----------|-------------|
| API Gateway | 8000 | http://localhost:8000/graphql | GraphQL API |
| User Service | 8001 | http://localhost:8001/health | Go REST API |
| Product Service | 8002 | http://localhost:8002/health | .NET REST API |
| Payment Service | 8003 | http://localhost:8003/health | Python REST API |
| PostgreSQL | 5432 | localhost:5432 | Database |
| Redis | 6379 | localhost:6379 | Cache |
| RabbitMQ | 15672 | http://localhost:15672 | Management UI |
| Adminer | 8080 | http://localhost:8080 | Database Admin |
### Development Credentials
- **PostgreSQL**: postgres/postgres
- **RabbitMQ**: admin/admin123
- **Database**: marketplace
## ๐๏ธ Clean Architecture Implementation
Each microservice follows Clean Architecture principles with language-specific adaptations:
### Go Service (Feature-Based)
```
user-service-go/
โโโ domain/ # Entities, value objects
โโโ application/ # Use cases, interfaces
โโโ infrastructure/ # Repository implementations
โโโ web/ # HTTP handlers, routing
```
### .NET Service (Layer-Based)
```
product-service-dotnet/
โโโ Domain/ # ProductService.Domain
โโโ Application/ # ProductService.Application
โโโ Infrastructure/ # ProductService.Infrastructure
โโโ WebApi/ # ProductService.WebApi
```
### Python Service (Module-Based)
```
payment-service-python/
โโโ domain/ # Models, enums, business rules
โโโ application/ # Services, use cases
โโโ infrastructure/ # Repositories, external APIs
โโโ web/ # FastAPI controllers
```
### Node.js Gateway (Layered)
```
api-gateway-node/src/
โโโ domain/ # GraphQL schemas, types
โโโ application/ # Service orchestration
โโโ infrastructure/ # Service clients, adapters
โโโ web/ # Resolvers, middleware
```
## ๐ง Development Workflow
This project uses **Taskmaster AI** for task-driven development. Key commands:
```bash
# View all tasks
task-master list
# Get next task to work on
task-master next
# View specific task details
task-master show
# Update task progress
task-master update-subtask --id= --prompt="progress update"
# Mark tasks as complete
task-master set-status --id= --status=done
```
## ๐งช Testing Strategy
Each service includes comprehensive testing:
- **Unit Tests** - Domain logic and use cases
- **Integration Tests** - Repository and service interactions
- **Contract Tests** - API endpoint verification
- **End-to-End Tests** - Full service orchestration
## ๐ Current Implementation Status
### โ
Completed
- [x] Project structure and Clean Architecture foundation
- [x] Docker Compose infrastructure setup
- [x] Basic service scaffolding across all languages
- [x] Database and caching configuration
- [x] GraphQL schema definition
### ๐ง In Progress
- [ ] gRPC service communication
- [ ] REST API implementations
- [ ] Message queue integration
- [ ] Authentication & authorization
- [ ] Database migrations
### ๐ Upcoming
- [ ] Frontend React application
- [ ] AI-powered chatbot
- [ ] Admin dashboard
- [ ] Production deployment pipeline
## ๐ค Contributing
1. Follow Clean Architecture principles
2. Maintain language-specific conventions
3. Update Taskmaster tasks for progress tracking
4. Include comprehensive tests
5. Document significant changes
## ๐ Documentation
- [Clean Architecture Guide](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)
- [Microservices Patterns](https://microservices.io/)
- [Docker Compose Reference](https://docs.docker.com/compose/)
- [GraphQL Best Practices](https://graphql.org/learn/best-practices/)
## ๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
---
**Built with โค๏ธ using Taskmaster AI for task-driven development**