Welcome to the CI/CD Pipeline for a MERN E-Commerce Application! This repository demonstrates a complete DevOps workflow using Docker, GitHub Actions, and Render for deploying a full-stack MERN (MongoDB, Express, React, Node.js) app.
π¦E-Commerce-App-Deployment-Pipeline-
βββ backend/ # Express.js backend
β βββ config/ # Configuration files (DB, env, etc.)
β βββ controllers/ # Route controllers
β βββ middleware/ # Express middleware
β βββ models/ # Mongoose models
β βββ routes/ # Express routes
β βββ utils/ # Utility functions
β βββ .env.example # Example environment variables
β βββ Dockerfile # Backend Dockerfile
β βββ package.json
β βββ server.js # Entry point
βββ frontend/ # React.js frontend
β βββ public/
β βββ src/
β β βββ assets/ # Images and static assets
β β βββ components/ # React components
β β βββ pages/ # React pages
β β βββ redux/ # Redux store, slices, actions
β β βββ utils/ # Utility functions
β β βββ App.js
β β βββ index.js
β βββ .env.example # Example frontend env variables
β βββ Dockerfile # Frontend Dockerfile
β βββ package.json
βββ .github/
β βββ workflows/
β βββ ci-cd.yml # GitHub Actions workflow
βββ .gitignore
βββ docker-compose.yml # Docker Compose for local dev
βββ README.md
β
Automatically builds both frontend and backend Docker images
β
Pushes images to Docker Hub
β
Triggers Render deployments using deploy hooks
β
Skips manual approval for fully automated deployment
β
Uses GitHub Actions for CI/CD pipeline
- βοΈ GitHub Actions β CI/CD automation
- π³ Docker β Containerization
- βοΈ Render β Cloud deployment
- πΎ MongoDB Atlas β Cloud database
- π Node.js & Express.js β Backend
- π§ React.js β Frontend
- π Frontend: Live Frontend on Render
- π Backend API: Live Backend on Render
- Push to main branch
- β CI: Install, Lint, and Build code
- π οΈ Docker Build for Frontend & Backend
- π¦ Push Docker Images to Docker Hub
- π Trigger Deploy Hooks on Render
π‘ Want to try it yourself? Fork this repo and set your own Docker & Render secrets!
Secret Name | Description |
---|---|
DOCKER_USERNAME |
Your Docker Hub username |
DOCKER_PASSWORD |
Docker Hub access token/password |
RENDER_DEPLOY_HOOK_FRONTEND |
Render deploy hook for frontend |
RENDER_DEPLOY_HOOK_BACKEND |
Render deploy hook for backend |
Display this badge in your repo to show the pipeline status:
- π Frontend: Live Frontend on Render
Made with β€οΈ by Rajeev Kumar (Elone Rajeev)
- π§ Email: [email protected]
- πΌ LinkedIn
- π§βπ» GitHub
- π Portfolio
This project is licensed under the MIT License.
π Always feel free to contribute or suggest improvements!