{"id":29443526,"url":"https://github.com/coding4deep/ecommerce-microservice","last_synced_at":"2025-07-13T16:09:18.534Z","repository":{"id":301744669,"uuid":"1009951031","full_name":"Coding4Deep/ecommerce-microservice","owner":"Coding4Deep","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-28T14:38:58.000Z","size":8889,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-28T15:36:04.410Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Coding4Deep.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-28T03:12:53.000Z","updated_at":"2025-06-28T14:39:02.000Z","dependencies_parsed_at":"2025-06-28T15:48:00.073Z","dependency_job_id":null,"html_url":"https://github.com/Coding4Deep/ecommerce-microservice","commit_stats":null,"previous_names":["coding4deep/ecommerce-microservice"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Coding4Deep/ecommerce-microservice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coding4Deep%2Fecommerce-microservice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coding4Deep%2Fecommerce-microservice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coding4Deep%2Fecommerce-microservice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coding4Deep%2Fecommerce-microservice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Coding4Deep","download_url":"https://codeload.github.com/Coding4Deep/ecommerce-microservice/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coding4Deep%2Fecommerce-microservice/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265167983,"owners_count":23721561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-13T16:09:00.262Z","updated_at":"2025-07-13T16:09:18.528Z","avatar_url":"https://github.com/Coding4Deep.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛍️ Enterprise E-Commerce Microservices Platform\n\nA comprehensive, production-ready e-commerce platform built with modern microservices architecture, featuring real-time notifications, advanced user management, product reviews, inventory tracking, and responsive web interfaces.\n\n## 🏗️ Architecture Overview\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│                        FRONTEND LAYER                           │\n├─────────────────────────────────────────────────────────────────┤\n│  Web App (React)     │  Admin Panel (React)                    │\n│  Port: 3000          │  Port: 3001                             │\n│  - User Interface    │  - Admin Dashboard                      │\n│  - Product Catalog   │  - User Management                      │\n│  - Shopping Cart     │  - Analytics                            │\n│  - User Dashboard    │  - System Monitoring                    │\n└─────────────────────────────────────────────────────────────────┘\n                                │\n                                ▼\n┌─────────────────────────────────────────────────────────────────┐\n│                      API GATEWAY (Nginx)                       │\n│                         Port: 8080                             │\n│  - Load Balancing    - Rate Limiting    - Health Checks       │\n│  - Request Routing   - SSL Termination  - CORS Handling       │\n└─────────────────────────────────────────────────────────────────┘\n                                │\n                                ▼\n┌─────────────────────────────────────────────────────────────────┐\n│                      MICROSERVICES LAYER                       │\n├─────────────────────────────────────────────────────────────────┤\n│ User Service     │ Product Service  │ Cart Service             │\n│ (Python/FastAPI) │ (Java/Spring)    │ (Node.js/Express)        │\n│ Port: 8001       │ Port: 8002       │ Port: 8003               │\n│ - Authentication │ - Product CRUD   │ - Shopping Cart          │\n│ - User Profiles  │ - Categories     │ - Session Management     │\n│ - JWT Tokens     │ - Search/Filter  │ - Cart Persistence       │\n├─────────────────────────────────────────────────────────────────┤\n│ Notification     │ Review Service   │ Inventory Service        │\n│ Service          │ (Node.js)        │ (Node.js)                │\n│ (Node.js)        │ Port: 8006       │ Port: 8007               │\n│ Port: 8005       │ - Product Reviews│ - Stock Management       │\n│ - Email/SMS/Push │ - Rating System  │ - Stock Reservations     │\n│ - Real-time      │ - Review Moderation│ - Low Stock Alerts     │\n├─────────────────────────────────────────────────────────────────┤\n│ Admin Service    │                                             │\n│ (Go/Gin)         │                                             │\n│ Port: 8009       │                                             │\n│ - Admin Panel API│                                             │\n│ - User Management│                                             │\n│ - System Analytics│                                            │\n└─────────────────────────────────────────────────────────────────┘\n                                │\n                                ▼\n┌─────────────────────────────────────────────────────────────────┐\n│                        DATA LAYER                              │\n├─────────────────────────────────────────────────────────────────┤\n│ MongoDB          │ Redis Cache      │ HashiCorp Vault          │\n│ Port: 27017      │ Port: 6379       │ Port: 8200               │\n│ - Primary DB     │ - Session Store  │ - Secrets Management     │\n│ - Document Store │ - Cache Layer    │ - API Keys               │\n│ - Replica Sets   │ - Pub/Sub        │ - Certificates           │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n## 🚀 Features\n\n### 🛒 **E-Commerce Core**\n- **Product Management**: 32+ sample products across 5 categories\n- **Shopping Cart**: Persistent cart with session management\n- **User Authentication**: JWT-based auth with refresh tokens\n- **Order Processing**: Complete order lifecycle management\n- **Payment Integration**: Ready for Stripe/PayPal integration\n\n### 👥 **User Experience**\n- **Responsive Design**: Mobile-first, works on all devices\n- **User Dashboard**: Personal stats, order history, profile management\n- **Product Reviews**: 5-star rating system with image uploads\n- **Real-time Notifications**: Email, SMS, and push notifications\n- **Advanced Search**: Filter by category, price, brand, ratings\n\n### 🔧 **Admin Features**\n- **Admin Dashboard**: Real-time analytics and system monitoring\n- **User Management**: CRUD operations on user accounts\n- **Product Management**: Add, edit, delete products and categories\n- **Order Management**: Track and update order statuses\n- **System Health**: Monitor all microservices health\n\n### 📊 **Enterprise Features**\n- **Microservices Architecture**: Scalable, maintainable, fault-tolerant\n- **Real-time Updates**: WebSocket connections for live data\n- **Inventory Management**: Stock tracking with automatic reservations\n- **Notification System**: Multi-channel communication\n- **Security**: JWT tokens, rate limiting, input validation\n- **Monitoring**: Health checks, logging, error tracking\n\n## 🛠️ Technology Stack\n\n### **Frontend**\n- **React 18**: Modern UI library with hooks\n- **React Router**: Client-side routing\n- **Axios**: HTTP client for API calls\n- **CSS3**: Custom responsive styling\n- **Socket.IO Client**: Real-time communication\n\n### **Backend Services**\n- **Python/FastAPI**: User service with async support\n- **Java/Spring Boot**: Product service with JPA\n- **Node.js/Express**: Cart, notification, review, inventory services\n- **Go/Gin**: Admin service for high performance\n- **Nginx**: API Gateway and load balancer\n\n### **Databases \u0026 Storage**\n- **MongoDB**: Primary database for all services\n- **Redis**: Caching and session storage\n- **HashiCorp Vault**: Secrets management\n\n### **DevOps \u0026 Infrastructure**\n- **Docker**: Containerization for all services\n- **Docker Compose**: Local development orchestration\n- **Kubernetes**: Production deployment (configs included)\n- **Health Checks**: Built-in monitoring for all services\n\n## 🚀 Quick Start\n\n### Prerequisites\n- Docker \u0026 Docker Compose\n- Node.js 18+ (for development)\n- Git\n\n### 1. Clone Repository\n```bash\ngit clone \u003crepository-url\u003e\ncd ecommerce-microservices\n```\n\n### 2. Start All Services\n```bash\ndocker-compose up -d\n```\n\n### 3. Initialize Sample Data\n```bash\nnode create-sample-products.js\n```\n\n### 4. Access Applications\n- **Web App**: http://localhost:3000\n- **Admin Panel**: http://localhost:3001\n- **API Gateway**: http://localhost:8080\n\n### 5. Default Credentials\n**Admin User:**\n- Email: `admin@example.com`\n- Password: `admin123`\n\n**Demo User:**\n- Email: `demo@example.com`\n- Password: `demo12345`\n\n## 📁 Project Structure\n\n```\necommerce-microservices/\n├── frontend/\n│   ├── web-app/                 # React customer app\n│   └── admin-app/               # React admin panel\n├── services/\n│   ├── user-service/            # Python/FastAPI\n│   ├── product-service/         # Java/Spring Boot\n│   ├── cart-service/            # Node.js/Express\n│   ├── notification-service/    # Node.js/Express\n│   ├── review-service/          # Node.js/Express\n│   ├── inventory-service/       # Node.js/Express\n│   ├── admin-service/           # Go/Gin\n│   └── api-gateway/             # Nginx\n├── k8s/                         # Kubernetes manifests\n├── data/                        # Database initialization\n├── docker-compose.yml           # Development setup\n└── README.md                    # This file\n```\n\n## 🔧 Development\n\n### Running Individual Services\n```bash\n# User Service\ncd services/user-service\npython -m uvicorn src.main:app --reload --port 8001\n\n# Product Service\ncd services/product-service\n./mvnw spring-boot:run\n\n# Cart Service\ncd services/cart-service\nnpm install \u0026\u0026 npm run dev\n```\n\n### Environment Variables\nEach service uses environment variables for configuration. See individual service README files for details.\n\n### Database Setup\nMongoDB is automatically initialized with sample data. To reset:\n```bash\ndocker-compose down -v\ndocker-compose up -d\nnode create-sample-products.js\n```\n\n## 🧪 Testing\n\n### Manual Testing\n1. **User Flow**: Register → Login → Browse Products → Add to Cart → Checkout\n2. **Admin Flow**: Login → Dashboard → Manage Users → Manage Products\n3. **API Testing**: Use Postman collection (included in `/docs`)\n\n### Health Checks\n```bash\n# Check all services\ncurl http://localhost:8080/health\n\n# Individual services\ncurl http://localhost:8001/health  # User Service\ncurl http://localhost:8002/products/health  # Product Service\ncurl http://localhost:8003/health  # Cart Service\n```\n\n## 🚀 Production Deployment\n\n### Kubernetes\n```bash\n# Apply all manifests\nkubectl apply -f k8s/\n\n# Check deployment status\nkubectl get pods -n ecommerce\n```\n\n### Docker Swarm\n```bash\n# Initialize swarm\ndocker swarm init\n\n# Deploy stack\ndocker stack deploy -c docker-compose.yml ecommerce\n```\n\n### Environment Configuration\n- Set production environment variables\n- Configure external databases\n- Set up SSL certificates\n- Configure monitoring and logging\n\n## 📊 Monitoring \u0026 Observability\n\n### Health Endpoints\n- All services expose `/health` endpoints\n- API Gateway aggregates health status\n- Built-in service discovery\n\n### Logging\n- Structured JSON logging\n- Centralized log aggregation ready\n- Error tracking and alerting\n\n### Metrics\n- Performance metrics collection\n- Business metrics tracking\n- Real-time dashboards ready\n\n## 🔒 Security\n\n### Authentication \u0026 Authorization\n- JWT-based authentication\n- Role-based access control (RBAC)\n- Secure password hashing\n- Session management\n\n### API Security\n- Rate limiting on all endpoints\n- Input validation and sanitization\n- CORS configuration\n- SQL injection prevention\n\n### Infrastructure Security\n- Secrets management with Vault\n- Network isolation\n- Container security scanning\n- Regular security updates\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit changes (`git commit -m 'Add amazing feature'`)\n4. Push to branch (`git push origin feature/amazing-feature`)\n5. Open Pull Request\n\n### Development Guidelines\n- Follow service-specific coding standards\n- Write comprehensive tests\n- Update documentation\n- Ensure backward compatibility\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🆘 Support\n\n### Documentation\n- [API Documentation](docs/api.md)\n- [Deployment Guide](docs/deployment.md)\n- [Troubleshooting](docs/troubleshooting.md)\n\n### Getting Help\n- Create an issue for bugs\n- Use discussions for questions\n- Check existing documentation first\n\n## 🎯 Roadmap\n\n### Phase 1 (Current)\n- ✅ Core e-commerce functionality\n- ✅ Microservices architecture\n- ✅ Admin panel\n- ✅ Real-time notifications\n\n### Phase 2 (Planned)\n- [ ] Payment gateway integration\n- [ ] Advanced analytics\n- [ ] Mobile app (React Native)\n- [ ] AI-powered recommendations\n\n### Phase 3 (Future)\n- [ ] Multi-tenant support\n- [ ] Advanced reporting\n- [ ] Third-party integrations\n- [ ] Machine learning features\n\n---\n\n**Built with ❤️ for modern e-commerce needs**\n\n*This platform demonstrates enterprise-grade microservices architecture with real-world features and production-ready code.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoding4deep%2Fecommerce-microservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoding4deep%2Fecommerce-microservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoding4deep%2Fecommerce-microservice/lists"}