cd d:\go-gin docker compose up --build Email: admin@hotel.com Password: admin_password123
It bridges the gap between local vendors and buyers by providing a centralized online marketplace. It simplifies product discovery, order management, secure payments, and delivery logistics in a unified platform tailored for the local market.
The system operates on a multi-tier structure connecting Buyers, Sellers, Admin, and Delivery personnel:
- Sellers register to manage inventory, product listings, pricing, and view reviews.
- Buyers browse categories, add items to carts or wishlists, use gift cards, and checkout securely.
- Admin/Platform oversees global settings, commissions on sales, and system moderation.
- Delivery Partners receive automated delivery assignments and update delivery statuses.
- Multi-Role Ecosystem: Distinct profiles for Admins, Buyers, Sellers, and Delivery Drivers.
- Product Management: Comprehensive item tracking, categories, image handling, and inventory validation.
- Order & Cart Lifecycle: Robust cart repository, secure checkout, order persistence, and tracking.
- Delivery Management: Automated delivery assignments to active delivery profiles.
- Platform Monetization: Built-in commission calculations for multi-vendor payouts.
- Engagement & Support: Customer reviews, seller responses, wishlists, and a notification dispatcher.
- Backend Architecture: Go (Golang) using the Gin HTTP web framework.
- Frontend Stack: Modern JavaScript/React components for robust UI interfaces.
- Design Pattern: Controller-Repository pattern to enforce strict business rules data integrity.
- Docker(https://docs.docker.com/get-docker/) installed on your machine
- ocker Compose(https://docs.docker.com/compose/install/) (included with Docker Desktop)
-
Clone the repository
git clone https://github.com/mareligncode/ethiopian-amazon.git
-
Start all services with Docker Compose
docker compose up --build
This will build and start the following containers:
- zookeeper – Kafka coordination service
- kafka – Message broker for async tasks
- db – PostgreSQL database (port
5433) - backend – Go/Gin API server (port
8082) - frontend – React/Vite app served via Nginx (port
5173)
-
Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:8082
-
Default admin credentials
- Email:
admin@amazon.com - Password:
admin123
- Email:
-
Stop the services
docker compose down
To also remove the database volume (reset all data):
docker compose down -v