https://github.com/iamarvy/emporium
An Eccomerce Weebsite
https://github.com/iamarvy/emporium
Last synced: 5 months ago
JSON representation
An Eccomerce Weebsite
- Host: GitHub
- URL: https://github.com/iamarvy/emporium
- Owner: iamArvy
- Created: 2024-11-17T10:28:39.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-07T19:30:54.000Z (5 months ago)
- Last Synced: 2025-06-07T20:25:45.704Z (5 months ago)
- Language: TypeScript
- Homepage: https://iamarvy.netlify.app
- Size: 10.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🏬 Emporium
A scalable multi-store eCommerce platform built with a microservices architecture.
---
## Overview
**Emporium** is a modern and modular eCommerce platform that enables:
* 🛒 Shoppers to browse and purchase from various online stores
* 🡩💼 Store owners to manage products, orders, and inventory via personalized dashboards
* 👨💼 Admins to oversee platform-wide analytics, moderation, and growth
Emporium follows a clean, microservices-based architecture for better scalability, performance, and developer experience.
---
## 🛠️ Tech Stack
| Layer | Technology |
| -------------- | ---------------------------------- |
| Frontend | Nuxt 3 |
| Backend | NestJS (Modular Microservices) |
| Communication | REST, gRPC |
| Auth | JWT, Passport.js |
| Database | PostgreSQL / MongoDB (per service) |
| Realtime | Socket.io, Redis Pub/Sub |
| Messaging | AWS SQS / Kafka |
| Storage | Amazon S3 |
| Infrastructure | Docker, AWS ECS/Fargate, EC2 |
---
## 🧱 Microservices
| Service | Description |
| -------------------- | -------------------------------------------------- |
| Auth Service | Handles registration, login, JWT issuance |
| Store Service | Manages store creation, updates, and info |
| Product Service | CRUD operations for store products |
| Order Service | Manages shopping carts, orders, and payments |
| User Service | Handles user profiles and preferences |
| Inventory Service | Stock and fulfillment tracking |
| Notification Service | Email/SMS/push alerts for order and store updates |
| Media Service | Uploads and stores images, videos, etc. to S3 |
| Gateway API | Acts as a central routing entry point for services |
| Admin Service | Platform-wide analytics and store moderation |
---
## 🚀 Getting Started
### Prerequisites
* Node.js (v18+)
* Docker & Docker Compose
* pnpm (or npm/yarn)
* AWS CLI (for cloud deployment)
### Local Setup
```bash
# Clone the monorepo
git clone https://github.com/yourname/emporium.git
cd emporium
# Install dependencies
pnpm install
# Start all services
docker-compose up --build
```
* Frontend (Nuxt) will be available at `http://localhost:3000`
* Backend services will run on their respective ports inside Docker
---
## 🔮 Folder Structure
```
emporium/
├── frontend/ # Nuxt frontend for shoppers
├── admin-dashboard/ # Nuxt or Laravel admin panel
├── store-dashboard/ # Nuxt or Laravel dashboard for vendors
├── services/ # NestJS microservices
│ ├── auth/
│ ├── user/
│ ├── store/
│ ├── product/
│ ├── order/
│ ├── inventory/
│ ├── notification/
│ └── media/
├── gateway/ # API Gateway
├── docker-compose.yml
└── README.md
```
---
## 📊 Future Plans
* Add support for coupon codes and discounts
* Integrate payment gateways (Stripe, PayPal)
* Implement advanced analytics dashboard
* Add ElasticSearch for fast product search
* Subscription-based store tiers
* AI-driven product recommendations
* Multi-language and multi-currency support
---
## 📝 License
MIT License – see `LICENSE`
---
## 🙌 Acknowledgements
Inspired by platforms like Shopify, Etsy, and Amazon – built for scale and flexibility with a developer-first architecture.