Full-stack ecommerce app with a React frontend and an Express/MongoDB backend.
- User authentication with JWT
- Product and category browsing
- Cart and order workflows
- Admin endpoints for management
- File uploads served from
/uploads
- Frontend: React (Create React App), React Router, Axios, Bootstrap
- Backend: Node.js, Express, MongoDB, Mongoose, Multer
backend/Express API and MongoDB modelsfrontend/React app
- Node.js and npm
- MongoDB instance (local or hosted)
cd backend
npm installCreate a .env file in backend/:
MONGO_URI=mongodb://localhost:27017/forum_ecommerce
JWT_SECRET=your_jwt_secret
PORT=5000
Run the API:
npm run devOptional seed data (creates an admin user and sample data):
npm run seedcd frontend
npm installOptional .env in frontend/:
REACT_APP_API_URL=http://localhost:5000
Run the app:
npm startBackend (backend/.env):
MONGO_URI(required) MongoDB connection stringJWT_SECRET(required) JWT signing secretPORT(optional) API port (default 5000)ADMIN_NAME(optional) seed admin nameADMIN_EMAIL(optional) seed admin emailADMIN_PASSWORD(optional) seed admin password
Frontend (frontend/.env):
REACT_APP_API_URL(optional) API base URL (defaulthttp://localhost:5000)
- Uploaded files are stored in
backend/uploads/and served at/uploads.