A cloud-native, full-stack e-commerce application that demonstrates production-grade development, DevOps automation, and scalable deployment strategies. Built using React.js, Node.js, and a complete modern DevOps toolchain.
- 🌐 Frontend: Mobile-first, responsive, modern UI
- 🔗 API: Secure, RESTful backend with full CRUD
- 📱 Performance: Optimized load, fast interactions
- Product Catalog - Browse, search, and filter products
- Shopping Cart - Add/remove items with persistent storage
- User Authentication - JWT-based login/register system
- Order Management - Complete order processing workflow
- Admin Dashboard - Product and user management
- Wishlist - Save favorite products
- Professional Design - Clean, modern interface with gradients
- Responsive Layout - Mobile-first design with CSS Grid/Flexbox
- Interactive Elements - Smooth animations and hover effects
- Typography - Premium fonts (Inter & Poppins)
- Accessibility - WCAG compliant with proper focus states
- Secure REST API with Express.js
- MongoDB schemas designed for performance & relationships
- Best practices: CORS, Helmet, bcrypt, JWT
- Optimized with compression, caching, and validations
- Structured for unit and integration testing
- 🔑 HashiCorp Vault - Centralized secret management
- 🔄 Secret Rotation - Automated credential updates
- 🛡️ Zero Hardcoded Secrets - All credentials vault-managed
- 🔒 Multi-Environment - Secure config per environment
- 📊 Audit Logging - Complete security compliance
- 🚨 Real-time Monitoring - Security event tracking
graph TB
subgraph "🎭 Frontend Layer"
A[👤 User] --> B[⚛️ React App]
B --> B1[🏠 HomePage]
B --> B2[🛍️ ProductsPage]
B --> B3[🛒 Shopping Cart]
B --> B4[👤 User Profile]
B5[🎨 Components] --> B
B6[📱 React Router] --> B
end
subgraph "🌐 API Gateway Layer"
B --> C[🔗 Express.js API]
C --> C1[🔐 Auth Middleware]
C --> C2[✅ Validation]
C --> C3[🛡️ Security Headers]
C --> C4[📊 Rate Limiting]
end
subgraph "🎯 Business Logic Layer"
C --> D1[📦 Product Service]
C --> D2[👥 User Service]
C --> D3[🛒 Order Service]
C --> D4[🔐 Auth Service]
D1 --> D5[📝 CRUD Operations]
D2 --> D5
D3 --> D5
end
subgraph "💾 Data Layer"
D5 --> E[🍃 MongoDB]
E --> E1[👥 Users Collection]
E --> E2[📦 Products Collection]
E --> E3[🛒 Orders Collection]
E --> E4[📊 Indexes & Relations]
end
subgraph "🔐 Security Layer"
F1[🔑 JWT Tokens] --> C1
F2[🔒 bcrypt Hashing] --> D2
F3[🛡️ Helmet Security] --> C3
F4[🌐 CORS Policy] --> C
end
subgraph "🚀 DevOps Pipeline"
G[📱 GitHub Repo] --> H[🔄 GitHub Actions]
H --> H1[🧪 CI Testing]
H --> H2[🏗️ Build Process]
H2 --> I[🐳 Docker Images]
I --> J[📦 Docker Hub]
J --> K[☁️ DigitalOcean]
end
subgraph "🏗️ Infrastructure"
L[📋 Terraform] --> M[🌐 Load Balancer]
L --> N[🖥️ Droplets]
L --> O[🔧 Networking]
P[⚙️ Ansible] --> N
M --> N
N --> K
end
style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#e8f5e8
style E fill:#fff3e0
style G fill:#fce4ec
sequenceDiagram
participant U as 👤 User
participant F as ⚛️ Frontend
participant A as 🔗 API
participant M as 🛡️ Middleware
participant S as 🎯 Service
participant D as 💾 Database
U->>F: Interact with UI
F->>A: HTTP Request
A->>M: Security Check
M->>M: Validate & Authenticate
M->>S: Process Business Logic
S->>D: Database Operation
D->>S: Return Data
S->>A: Formatted Response
A->>F: JSON Response
F->>U: Updated UI
graph LR
subgraph "🎯 Core Services"
A1[👥 User Service]
A2[📦 Product Service]
A3[🛒 Order Service]
A4[💳 Payment Service]
end
subgraph "🔧 Support Services"
B1[🔐 Auth Service]
B2[📧 Email Service]
B3[📊 Analytics Service]
B4[🔍 Search Service]
end
subgraph "🌐 API Gateway"
C[🚪 Gateway]
end
C --> A1
C --> A2
C --> A3
C --> A4
C --> B1
C --> B2
C --> B3
C --> B4
- React.js + Axios + TailwindCSS
- JWT-based auth
- CI/CD via GitHub Actions
- Node.js (Express.js)
- MongoDB (Mongoose)
- Redis (Caching sessions)
- REST APIs with Swagger Docs
- Middleware (Helmet, CORS, express-validator)
- GitHub Actions (CI/CD)
- Terraform (Infra provisioning)
- Ansible (Server configuration)
- Docker + Docker Compose (Containerization)
- DigitalOcean (Deployment)
ExampleCorp/
├── .github/
│ └── workflows/
│ ├── ci.yaml # Continuous Integration workflow
│ └── cd.yaml # Continuous Deployment workflow
│
├── frontend/ # Frontend (React) Application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Individual pages/views
│ │ ├── styles/ # CSS / styling assets
│ └── package.json # Frontend dependencies and scripts
│
├── backend/ # Backend (Node.js + Express)
│ ├── src/
│ │ ├── models/ # MongoDB schemas
│ │ ├── routes/ # API endpoints
│ │ ├── middleware/ # Security, auth, etc.
│ │ ├── config/ # DB connection and configs
│ └── package.json # Backend dependencies and scripts
│
├── infra/ # Infrastructure as Code (Terraform)
│ ├── main.tf # Main configuration
│ ├── variables.tf # Input variables
│ └── terraform.tfvars.example # Sample configuration file
│
└── docs/ # Project documentation
- Node.js 18+ and npm
- MongoDB (local or Atlas)
- Git
git clone https://github.com/Shakeelkhuhro/ExampleCorp-Ecommerce.git
cd ExampleCorp-Ecommerce
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm install# Backend environment
cd backend
cp .env.example .env
# Edit .env with your MongoDB URI and JWT secret
# Seed sample data (optional)
npm run seed# Terminal 1 - Start backend (Port 5000)
cd backend
npm run dev
# Terminal 2 - Start frontend (Port 3000)
cd frontend
npm start- 🌐 Frontend: http://localhost:3000
- 🔗 API: http://localhost:5000/api
- 📚 API Docs: http://localhost:5000/api/docs
POST /api/users/register # User registration
POST /api/users/login # User login
GET /api/users/profile # Get user profile
PUT /api/users/profile # Update profileGET /api/products # Get all products (with filtering)
GET /api/products/:id # Get single product
POST /api/products # Create product (Admin)
PUT /api/products/:id # Update product (Admin)
DELETE /api/products/:id # Delete product (Admin)GET /api/orders/myorders # Get user orders
GET /api/orders/:id # Get single order
POST /api/orders # Create new order
PUT /api/orders/:id/pay # Mark as paid- 📱 Mobile First - Optimized for all devices
- 🎯 Interactive - Hover effects and animations
- 🎨 Modern - Gradient themes and glassmorphism
- ♿ Accessible - WCAG compliant
- Header - Navigation with cart and user icons
- ProductCard - Interactive product display
- Footer - Links and social media
- HomePage - Hero section with features
- ProductsPage - Search and filter functionality
npm start # Production server
npm run dev # Development with nodemon
npm run seed # Populate database with sample data
npm test # Run tests (when implemented)npm start # Development server
npm run build # Production build
npm test # Run tests
npm run eject # Eject Create React App (use carefully)# Backend (.env)
NODE_ENV=development
PORT=5000
MONGO_URI=mongodb://localhost:27017/examplecorp
JWT_SECRET=your-super-secret-jwt-key
JWT_EXPIRE=30d
FRONTEND_URL=http://localhost:3000cd infra
cp terraform.tfvars.example terraform.tfvars
# Edit terraform.tfvars with your cloud provider tokens
terraform init
terraform plan
terraform applycd ansible
# Configure your inventory and playbooks
ansible-playbook -i inventory deploy.yml- Automatic testing on pull requests
- Build and deploy on main branch
- Environment-specific deployments
- ⚡ Load Time: < 2s initial page load
- 📱 Mobile Score: 95+ Lighthouse score
- 🔒 Security: A+ SSL rating
- 📈 Uptime: 99.9% availability target
- 🚀 API Response: < 100ms average
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
- ✅ Full-Stack Development - React + Node.js + MongoDB
- ✅ Modern UI/UX - Responsive design principles
- ✅ API Design - RESTful architecture
- ✅ Authentication - JWT implementation
- ✅ Database Design - MongoDB relationships
- ✅ DevOps Practices - CI/CD, IaC, automation
- ✅ Security - Input validation, CORS, Helmet
- ✅ Testing - Unit and integration testing setup
MIT License © 2025 Shakeel Khuhro
- Create React App - Frontend bootstrapping
- Express.js - Backend framework
- MongoDB - Database solution
- Font Awesome - Icon library
- Unsplash - Placeholder images
⭐ Star this repository if you found it helpful!