Skip to content

refaatcrafts/ecom-go

Repository files navigation

Ecom-go Backend Go

Go CI/CD codecov

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.

Architecture

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/ or db/ / handlers/: Contains implementation details such as database repositories, HTTP handlers, and external integrations.

Technologies

  • Language: Go 1.24
  • Database: PostgreSQL (SQL Database)
  • API Documentation: Swagger / OpenAPI
  • Logging: Uber-go/zap & slog
  • Migrations: golang-migrate

Development

Prerequisites

  • Go 1.24 or higher
  • Make (optional)
  • Docker & Docker Compose (for database)

Setup

# 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

About

Ecom-go is a Go-based e-commerce backend built with Clean Architecture and Domain-Driven Design (DDD), focusing on clear domain boundaries, independent business logic, and a maintainable, testable codebase.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors