Skip to content

Cyber-Hash-pro/Enterprise-Microservices-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›’ Mino E-Commerce Platform

A full-featured, microservices-based e-commerce platform built with Node.js, React, and MongoDB. The platform supports both customer and seller experiences with real-time AI-powered shopping assistance.

Node.js React MongoDB Redis RabbitMQ Docker

πŸ“‹ Table of Contents

🎯 Overview

Mino is a modern e-commerce platform designed with a microservices architecture. It provides:

  • Customer Portal: Browse products, manage cart, place orders, and chat with AI assistant
  • Seller Dashboard: Manage products, track orders, view analytics
  • Real-time Notifications: Email notifications for user registration and product listings
  • AI Shopping Assistant: Powered by Google Gemini AI with LangChain integration

πŸ— Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                              Frontend Applications                           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚    Frontend User (5173)     β”‚     β”‚    Frontend Seller (5174)       β”‚    β”‚
β”‚  β”‚    React + Vite + Redux     β”‚     β”‚    React + Vite + Redux         β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                              Backend Microservices                           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Auth   β”‚ β”‚ Product β”‚ β”‚  Cart   β”‚ β”‚  Order  β”‚ β”‚ Seller  β”‚ β”‚ AI Buddy β”‚  β”‚
β”‚  β”‚ :3000   β”‚ β”‚ :3001   β”‚ β”‚ :3002   β”‚ β”‚ :3003   β”‚ β”‚ :3007   β”‚ β”‚  :3005   β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β”‚
β”‚       β”‚           β”‚           β”‚           β”‚           β”‚           β”‚         β”‚
β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β”‚                                     β”‚                                        β”‚
β”‚                          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                            β”‚
β”‚                          β”‚      RabbitMQ       β”‚                            β”‚
β”‚                          β”‚   Message Broker    β”‚                            β”‚
β”‚                          β”‚      :5672          β”‚                            β”‚
β”‚                          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                            β”‚
β”‚                                     β”‚                                        β”‚
β”‚                          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                            β”‚
β”‚                          β”‚    Notification     β”‚                            β”‚
β”‚                          β”‚      :3006          β”‚                            β”‚
β”‚                          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                              Data Layer                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚        MongoDB :27017       β”‚     β”‚        Redis :6379              β”‚    β”‚
β”‚  β”‚    (Primary Database)       β”‚     β”‚    (Session/Cache Store)        β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Message Queue Architecture

Services communicate asynchronously via RabbitMQ:

Queue Name Publisher Consumer Purpose
Auth_Notification.USER_CREATED Auth Notification Welcome emails
AUTH_SELLER_DASHBOARD.USER_CREATED Auth Seller Dashboard Sync user data
PRODUCT_CREATED Product Seller Dashboard Sync product data
Product_Notification.PRODUCT_CREATED Product Notification Product live emails
ORDER_SELLER_DASHBOARD.ORDER_CREATED Order Seller Dashboard Sync order data

πŸ›  Tech Stack

Backend

Technology Purpose
Node.js Runtime environment
Express 5 Web framework
MongoDB + Mongoose Database & ODM
Redis (ioredis) Caching & session management
RabbitMQ (amqplib) Message broker
JWT Authentication
bcryptjs Password hashing
Nodemailer Email notifications
LangChain + Google Gemini AI shopping assistant
Socket.io Real-time communication
ImageKit Image storage & CDN
Multer File uploads

Frontend

Technology Purpose
React 19 UI library
Vite 7 Build tool
Redux Toolkit State management
React Router 7 Routing
Tailwind CSS 4 Styling
Axios HTTP client
Socket.io Client Real-time communication

DevOps

Technology Purpose
Docker Containerization
Jest Testing framework
Supertest API testing
MongoDB Memory Server In-memory DB for tests

πŸ“¦ Services

1. Auth Service (Port 3000)

User authentication and authorization service.

Features:

  • User registration with role support (user/seller)
  • Login with JWT token (httpOnly cookies)
  • Session management
  • Address management (CRUD)
  • Redis-based token blacklisting

2. Product Service (Port 3001)

Product catalog management.

Features:

  • Create products with image upload (ImageKit CDN)
  • Full-text search on title and description
  • Price range filtering
  • Pagination support
  • Seller-specific product management

3. Cart Service (Port 3002)

Shopping cart management.

Features:

  • Add items to cart
  • Update item quantities
  • Get cart contents
  • Per-user cart isolation

4. Order Service (Port 3003/3004)

Order processing and management.

Features:

  • Create orders from cart
  • Order status management (PENDING β†’ CONFIRMED β†’ SHIPPED β†’ DELIVERED)
  • Order cancellation
  • Shipping address management
  • Pagination support

5. Notification Service (Port 3006)

Email notification service.

Features:

  • Welcome emails on registration
  • Product listing confirmation emails
  • Gmail OAuth2 integration
  • Queue-based message processing

6. Seller Dashboard (Port 3007)

Seller analytics and order management.

Features:

  • Dashboard metrics (products, orders, revenue)
  • Order management with status updates
  • Product listing view
  • Synced data via message queues

7. AI Buddy (Port 3005)

AI-powered shopping assistant.

Features:

  • Real-time chat via WebSocket
  • Product search capability
  • Add to cart functionality
  • Powered by Google Gemini 2.0 Flash
  • LangGraph agent architecture

✨ Features

Customer Features

  • πŸ” Secure authentication with JWT
  • πŸ›οΈ Browse and search products
  • πŸ›’ Shopping cart management
  • πŸ“¦ Order placement and tracking
  • πŸ“ Multiple shipping addresses
  • πŸ€– AI shopping assistant
  • πŸ“± Responsive design

Seller Features

  • πŸ“Š Sales dashboard with metrics
  • πŸ“¦ Product management (CRUD)
  • πŸ–ΌοΈ Image upload with CDN
  • πŸ“‹ Order management
  • 🚚 Order status updates
  • πŸ“ˆ Analytics overview

Platform Features

  • πŸ—οΈ Microservices architecture
  • πŸ“¨ Async messaging with RabbitMQ
  • πŸ—„οΈ MongoDB with text indexing
  • ⚑ Redis caching
  • 🐳 Docker containerization
  • πŸ§ͺ Automated testing

πŸ“‘ API Reference

Auth Service (/api/auth)

Method Endpoint Description Auth
POST /register Register new user ❌
POST /login Login user ❌
GET /me Get current user βœ…
GET /logout Logout user ❌
GET /users/me/addresses Get user addresses βœ…
POST /users/me/addresses Add address βœ…
DELETE /users/me/addresses/:id Delete address βœ…

Product Service (/api/products)

Method Endpoint Description Auth
GET / List products (with filters) ❌
GET /:id Get product by ID ❌
POST / Create product βœ… (seller/admin)
PATCH /:id Update product βœ… (seller)
DELETE /:id Delete product βœ… (seller)
GET /seller Get seller's products βœ… (seller)

Query Parameters:

  • q - Search query (full-text search)
  • miniprice - Minimum price filter
  • maxprice - Maximum price filter
  • skip - Pagination offset
  • limit - Results limit (max 20)

Cart Service (/api/carts)

Method Endpoint Description Auth
GET / Get user's cart βœ…
POST /items Add item to cart βœ…
PATCH /items/:productId Update item quantity βœ…

Order Service (/api/orders)

Method Endpoint Description Auth
POST / Create order from cart βœ…
GET /me Get user's orders βœ… (admin)
GET /:id Get order by ID βœ…
POST /:id/cancel Cancel order βœ…
PATCH /:id/address Update order address βœ…

Seller Dashboard (/api/seller/dashbord)

Method Endpoint Description Auth
GET /matrics Get dashboard metrics βœ… (seller)
GET /orders Get seller's orders βœ… (seller)
GET /orders/:orderId Get order details βœ… (seller)
PATCH /orders/:orderId/status Update order status βœ… (seller)
GET /products Get seller's products βœ… (seller)

πŸš€ Getting Started

Prerequisites

  • Node.js v20+
  • MongoDB v8+
  • Redis
  • RabbitMQ
  • npm or yarn

Installation

  1. Clone the repository
git clone <repository-url>
cd Mino-Project
  1. Install dependencies for all services
# Backend services
cd auth && npm install && cd ..
cd product && npm install && cd ..
cd cart && npm install && cd ..
cd order && npm install && cd ..
cd notification && npm install && cd ..
cd seller-dashbord && npm install && cd ..
cd ai-buddy && npm install && cd ..

# Frontend applications
cd frontend-user && npm install && cd ..
cd frontend-seller && npm install && cd ..
  1. Set up environment variables

Create .env files in each service directory:

Auth Service (.env)

PORT=3000
MONGO_URI=mongodb://localhost:27017/mino-auth
JWT_SECRET=your-secret-key
REDIS_HOST=localhost
REDIS_PORT=6379
RABBITMQ_URL=amqp://localhost:5672

Product Service (.env)

PORT=3001
MONGO_URl=mongodb://localhost:27017/mino-products
JWT_SECRET=your-secret-key
RABBITMQ_URL=amqp://localhost:5672
IMAGEKIT_PUBLIC_KEY=your-key
IMAGEKIT_PRIVATE_KEY=your-key
IMAGEKIT_URL_ENDPOINT=your-endpoint

Cart Service (.env)

PORT=3002
MONGO_URI=mongodb://localhost:27017/mino-cart
JWT_SECRET=your-secret-key

Order Service (.env)

PORT=3003
MONGO_URI=mongodb://localhost:27017/mino-orders
JWT_SECRET=your-secret-key
RABBITMQ_URL=amqp://localhost:5672

Notification Service (.env)

EMAIL_USER=your-email@gmail.com
CLIENT_ID=your-oauth-client-id
CLIENT_SECRET=your-oauth-client-secret
REFRESH_TOKEN=your-refresh-token
RABBITMQ_URL=amqp://localhost:5672

AI Buddy Service (.env)

MONGO_URI=mongodb://localhost:27017/mino-ai
JWT_SECRET=your-secret-key
GEMINI_API_KEY=your-gemini-api-key
ALLOWED_ORIGINS=http://localhost:5173,http://localhost:5174

Seller Dashboard (.env)

MONGO_URI=mongodb://localhost:27017/mino-seller
JWT_SECRET=your-secret-key
RABBITMQ_URL=amqp://localhost:5672
  1. Start the services
# Start backend services (in separate terminals)
cd auth && npm start
cd product && npm start
cd cart && npm start
cd order && npm start
cd notification && npm start
cd seller-dashbord && npm start
cd ai-buddy && npm start

# Start frontend applications
cd frontend-user && npm run dev
cd frontend-seller && npm run dev
  1. Access the applications

🐳 Docker Setup

Quick Start with Docker

  1. Navigate to docker directory
cd docker
cp .env.example .env
# Edit .env with your values
  1. Build and run all services
docker-compose up -d --build
  1. View logs
docker-compose logs -f
  1. Stop all services
docker-compose down

Service Ports (Docker)

Service Port Description
Auth 3000 User authentication
Product 3001 Product management
Cart 3002 Shopping cart
Order 3003 Order processing
Notification 3004 Email notifications
Seller Dashboard 3005 Seller analytics
AI Buddy 3006 AI chatbot
MongoDB 27017 Database
Redis 6379 Cache
RabbitMQ 5672/15672 Message broker

Database Access

# MongoDB shell
docker exec -it mino-mongodb mongosh -u admin -p password123

# Redis CLI
docker exec -it mino-redis redis-cli

Cleanup

# Stop and remove containers
docker-compose down

# Remove volumes (data)
docker-compose down -v

# Remove everything including images
docker-compose down -v --rmi all

πŸ” Environment Variables

Required for All Services

Variable Description
MONGO_URI MongoDB connection string
JWT_SECRET JWT signing secret

RabbitMQ (for async services)

Variable Description
RABBITMQ_URL RabbitMQ connection URL

Redis (Auth service)

Variable Description
REDIS_HOST Redis host
REDIS_PORT Redis port
REDIS_PASSWORD Redis password (optional)

Email (Notification service)

Variable Description
EMAIL_USER Gmail address
CLIENT_ID OAuth2 client ID
CLIENT_SECRET OAuth2 client secret
REFRESH_TOKEN OAuth2 refresh token

AI (AI Buddy service)

Variable Description
GEMINI_API_KEY Google Gemini API key
ALLOWED_ORIGINS CORS allowed origins

Image Upload (Product service)

Variable Description
IMAGEKIT_PUBLIC_KEY ImageKit public key
IMAGEKIT_PRIVATE_KEY ImageKit private key
IMAGEKIT_URL_ENDPOINT ImageKit URL endpoint

πŸ§ͺ Testing

Running Tests

# Auth service tests
cd auth
npm test

# Cart service tests
cd cart
npm test

# Product service tests
cd product
npm test

Test Coverage

The project uses:

  • Jest as the test runner
  • Supertest for HTTP assertions
  • MongoDB Memory Server for isolated database testing

Test Files

auth/__tests__/
β”œβ”€β”€ addresses.test.js
β”œβ”€β”€ login.test.js
β”œβ”€β”€ logout.test.js
β”œβ”€β”€ me.test.js
└── register.test.js

cart/src/__tests__/
└── card.controller.addItem.test.js

product/tests/
β”œβ”€β”€ products.delete.test.js
β”œβ”€β”€ products.get.test.js
β”œβ”€β”€ products.id.test.js
β”œβ”€β”€ products.patch.test.js
└── products.test.js

πŸ“ Project Structure

Mino-Project/
β”œβ”€β”€ docker/                     # Docker configurations
β”‚   β”œβ”€β”€ .env.example
β”‚   β”œβ”€β”€ auth.Dockerfile
β”‚   β”œβ”€β”€ cart.Dockerfile
β”‚   β”œβ”€β”€ order.Dockerfile
β”‚   β”œβ”€β”€ product.Dockerfile
β”‚   β”œβ”€β”€ notification.Dockerfile
β”‚   β”œβ”€β”€ seller-dashboard.Dockerfile
β”‚   └── ai-buddy.Dockerfile
β”‚
β”œβ”€β”€ auth/                       # Auth microservice
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   β”œβ”€β”€ broker/             # RabbitMQ integration
β”‚   β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”œβ”€β”€ db/                 # MongoDB + Redis
β”‚   β”‚   β”œβ”€β”€ Middlware/
β”‚   β”‚   β”œβ”€β”€ Models/
β”‚   β”‚   └── router/
β”‚   └── __tests__/
β”‚
β”œβ”€β”€ product/                    # Product microservice
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ broker/
β”‚   β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”œβ”€β”€ db/
β”‚   β”‚   β”œβ”€β”€ middlewares/
β”‚   β”‚   β”œβ”€β”€ Models/
β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   └── serviecs/           # ImageKit upload
β”‚   └── tests/
β”‚
β”œβ”€β”€ cart/                       # Cart microservice
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controller/
β”‚   β”‚   β”œβ”€β”€ db/
β”‚   β”‚   β”œβ”€β”€ middlewares/
β”‚   β”‚   β”œβ”€β”€ model/
β”‚   β”‚   └── routes/
β”‚   └── __tests__/
β”‚
β”œβ”€β”€ order/                      # Order microservice
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ broker/
β”‚   β”‚   β”œβ”€β”€ Controller/
β”‚   β”‚   β”œβ”€β”€ db/
β”‚   β”‚   β”œβ”€β”€ middlewares/
β”‚   β”‚   β”œβ”€β”€ Model/
β”‚   β”‚   └── Routes/
β”‚
β”œβ”€β”€ notification/               # Notification microservice
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ broker/
β”‚   β”‚   └── email.js
β”‚
β”œβ”€β”€ seller-dashbord/            # Seller Dashboard microservice
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ broker/
β”‚   β”‚   β”œβ”€β”€ controller/
β”‚   β”‚   β”œβ”€β”€ db/
β”‚   β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   β”œβ”€β”€ models/
β”‚   β”‚   └── router/
β”‚
β”œβ”€β”€ ai-buddy/                   # AI Assistant microservice
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ app.js
β”‚   β”‚   β”œβ”€β”€ agent/              # LangChain agent
β”‚   β”‚   β”œβ”€β”€ db/
β”‚   β”‚   └── sockets/            # WebSocket server
β”‚
β”œβ”€β”€ frontend-user/              # Customer React app
β”‚   β”œβ”€β”€ vite.config.js
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ App.jsx
β”‚   β”‚   β”œβ”€β”€ api/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   └── store/              # Redux store
β”‚
└── frontend-seller/            # Seller React app
    β”œβ”€β”€ vite.config.js
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ App.jsx
    β”‚   β”œβ”€β”€ api/
    β”‚   β”œβ”€β”€ components/
    β”‚   β”œβ”€β”€ pages/
    β”‚   └── store/              # Redux store

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the ISC License.

πŸ‘¨β€πŸ’» Author

Built with ❀️ by the Mino Team


About

πŸ›’ Enterprise E-Commerce Platform with Microservices Full-stack e-commerce solution: Customer portal + Seller dashboard | Microservices | AI Assistant | RabbitMQ | Docker-

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages