A fully responsive, production-ready Full-Stack Product Management application built using the MERN Stack (MongoDB, Express.js, React.js, Node.js) and styled with Chakra UI. This project features a modular architecture, seamless CRUD capabilities via a robust REST API, and is configured for modern serverless deployment.
- Full CRUD Capabilities: Add, view, update, and delete products seamlessly from a central dashboard.
- Dynamic State Management: Real-time frontend updates when modifying product catalogs without manual page reloads.
- Modern Responsive UI: Clean, accessible user interface optimized for desktop, tablet, and mobile viewing screens using Chakra UI.
- Robust REST API: Fully structured backend routing handling server status codes, requests payload handling, and asynchronous data flows.
- Global Theme Support: Native dark/light mode toggle integrated for custom client accessibility preferences.
- Frontend: React.js, Chakra UI, Axios, React Icons
- Backend: Node.js, Express.js framework
- Database: MongoDB (with Mongoose Object Modeling)
- Deployment & Config: Optimized configuration for Vercel Serverless Functions and
dotenvenvironment encapsulation.
Product-Store/
βββ BACKEND/ # Express.js REST API, Database controllers & schemas
βββ FRONTEND/ # React.js SPA built with global UI components
βββ package.json # Root scripts configured for deployment/monorepo build
βββ README.md # Project documentation
βββ .env.example # Environment variables template
Before you begin, ensure you have the following installed:
- Node.js >= 18.x
- npm (comes with Node.js)
- MongoDB β either a local instance or a free Atlas cluster
git clone https://github.com/niharika-mente/Product-Store.git
cd Product-StoreInstall dependencies for the backend (root) and frontend separately:
# Install backend dependencies
npm install
# Install frontend dependencies
cd FRONTEND && npm install && cd ..Copy the example environment file and update it with your values:
cp .env.example .envEdit the .env file:
MONGO_URI=mongodb+srv://<username>:<password>@cluster.mongodb.net/<dbname>?retryWrites=true&w=majority
PORT=5000
NODE_ENV=development
VITE_API_URL=http://localhost:5000Note:
MONGO_URIis required. You can get one from MongoDB Atlas or usemongodb://localhost:27017/productstorefor a local MongoDB instance.
Run the backend server (with auto-reload via nodemon):
npm run start
Make sure Docker Desktop is installed and running.
docker-compose up --build| Service | URL |
|---|---|
| Frontend | http://localhost:5173 |
| Backend | http://localhost:5000 |
| MongoDB | localhost:27017 |
docker-compose downnpm run devIn a separate terminal, start the frontend dev server:
cd FRONTEND && npm run dev- The backend API runs at
http://localhost:5000 - The frontend app runs at
http://localhost:5173
Thanks to all the amazing people who contribute to Product Store π