A modern full-stack e-commerce application built with React.js (frontend) and Node.js + Express.js (backend). Chief-store delivers a seamless shopping experience featuring dynamic product listings, powerful search & & filtering, secure Flutterwave payment, real-time admin notifications, and a robust admin dashboard for full control.
https://chief-store.vercel.app/
- π Secure JWT Authentication (Access & Refresh Tokens)
- π¦ Product Management (Create, Edit, Delete)
- π Product Filtering & Sorting
- π Shopping Cart & Checkout Flow
- ποΈ Coupon Discount Integration
- π³ Flutterwave Payment Integration
- π€ Cloudinary for Image Uploads
- π¬ Nodemailer for Email Notifications
- π Admin Dashboard with Analytics & Product Control
- π Real-time Admin Notifications (with Redis Pub/Sub)
chief-store/
β
βββ client/ # React frontend
βββ server/ # Express backend
βββ README.md
βββ .env # Environment variables
Frontend
- React.js (Vite)
- Zustand (state management)
- Axios
- Tailwind CSS
Backend
- Node.js
- Express.js
- MongoDB (with Mongoose)
- Redis (Uptash)
- Cloudinary
- Nodemailer
- Flutterwave
git clone https://github.com/macobia/chief-store.git
cd chief-storePORT=5000
MONGO_URL=your_mongo_connection_string
JWT_SECRET_ACCESS_TOKEN=your_access_token_secret
JWT_SECRET_REFRESH_TOKEN=your_refresh_token_secret
UPTASH_REDIS_URL=redis://username:password@host:port
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
FLW_PUBLIC_KEY=your_flutterwave_public_key
FLW_SECRET_KEY=your_flutterwave_secret_key
FLW_ENCRYPTION_KEY=your_flutterwave_encryption_key
CLIENT_URL=http://localhost:5173
GOOGLE_CLIENT_ID=your_GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET=your_GOOGLE_CLIENT_SECRET
GOOGLE_CALLBACK_URL=your_GOOGLE_CALLBACK_URL
RECAPTCHA_SECRET_KEY=your_RECAPTCHA_SECRET_KEY
SESSION_SECRET=your_SESSION_SECRET
MAIL_USER=your_email@example.com
MAIL_PASS=your_email_password
NODE_ENV=developmentVITE_API_URL=http://localhost:5000/api
VITE_RECAPTCHA_SITE_KEY=your_RECAPTCHA_SITE_KEYcd backend
npm installcd ../frontend
npm installnpm run devcd ../frontend
npm run devnpm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production buildnpm run dev # Start dev server using nodemon- π¦ Inventory Stock Management
- π§² Order History Page for Users
- π Detailed Analytics Dashboard for Admins
- π οΈ Role-Based Access Control
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License. See the LICENSE file for details.
Built with β€οΈ by Macben Obiakor