Ecom-go is a robust e-commerce backend service built with Go, designed to handle core marketplace functionalities including user management, product catalogs, categories, and shopping carts.
This project follows Clean Architecture principles and Domain-Driven Design (DDD) to ensure a maintainable, scalable, and testable codebase.
The system is organized into bounded contexts within the internal/ directory, each typically structured as:
domain/: Contains enterprise business rules, entities, and repository interfaces.application/: Contains application-specific business rules and use cases.infra/ordb//handlers/: Contains implementation details such as database repositories, HTTP handlers, and external integrations.
- Language: Go 1.24
- Database: PostgreSQL (SQL Database)
- API Documentation: Swagger / OpenAPI
- Logging: Uber-go/zap & slog
- Migrations: golang-migrate
- Go 1.24 or higher
- Make (optional)
- Docker & Docker Compose (for database)
# Clone repository
git clone https://github.com/nerdxio/yadwy-backend-go.git
# Start infrastructure (Postgres)
docker-compose up -d
# Run migrations
make migrate-up
# Run tests
make test
# Run application
make run