Multi-Vendor E-Commerce Platform
Production-oriented marketplace with role-based workflows, real-time communication, payments, and cloud deployment.

Overview
A full-stack multi-vendor marketplace where buyers, vendors, and administrators interact through distinct role-based workflows. The application combines a React and TypeScript frontend with a Node.js/Express API, MongoDB, Redis, Socket.IO-based real-time communication, authentication and authorization, and Stripe-powered payments. The application was containerized with Docker and deployed to AWS EC2 behind Nginx, with separate HTTPS endpoints for the frontend, backend API, and real-time socket service. MongoDB is self-hosted on AWS EC2 with persistent storage, while GitHub Actions provides the CI/CD workflow.
Key Features
- Multi-vendor storefronts with independent product and order management.
- Role-based authentication and authorization for buyers, vendors, and administrators.
- Real-time order and notification updates using Socket.IO.
- REST API architecture supporting catalog, cart, checkout, and order workflows.
- Stripe payment integration.
- Redis-backed application functionality where required by the real-time architecture.
- Production HTTPS endpoints for the frontend, backend API, and Socket.IO service.
Engineering Highlights
- Designed frontend workflows around distinct buyer, vendor, and administrator roles.
- Implemented authentication, authorization, and role-based access control across the application.
- Integrated Socket.IO for real-time order and status communication.
- Built and integrated REST APIs for the application's core business workflows.
- Containerized the frontend, backend, and socket-relay services using Docker and Docker Compose.
- Deployed the application services to AWS EC2 and used Nginx as a reverse proxy.
- Deployed MongoDB on AWS EC2 with persistent storage and internal networking.
- Configured Redis as an internal service without exposing it publicly.
- Configured custom domains for the frontend, backend API, and socket-relay service.
- Configured HTTPS using Let's Encrypt and Certbot, including secure WSS communication for Socket.IO.
- Configured Nginx for WebSocket upgrade and proxying between the public socket endpoint and the socket-relay service.
- Implemented GitHub Actions CI/CD for automated application deployment.
- Applied production security practices including restricted network ports, environment-variable management, internal database access, and HTTPS.
Tech Stack
Frontend
Backend & API
Database & Infrastructure
Realtime
Payments
Cloud & Deployment
Security & Networking
Deployment
Containerized and deployed on AWS EC2 using Docker and Docker Compose. Nginx acts as the reverse proxy for the frontend, backend API, and Socket.IO service. MongoDB runs on the AWS infrastructure with persistent storage, while Redis remains internal to the application network. Custom domains are secured with HTTPS using Let's Encrypt/Certbot, including WSS for real-time communication. GitHub Actions provides the CI/CD workflow.