A modern full-stack e-commerce web application built with Next.js, TypeScript, and MongoDB, featuring product listings, authentication, shopping cart, payments, and admin management.
- 🧑💻 User Authentication – Register, login, logout, and password reset
- 🛒 Product Management – List, Browse, search, and filter products
- 🛍️ Shopping Cart – Add/remove items and proceed to checkout
- 💳 Payment Integration – Secure checkout via Flutterwave
- ⚙️ Admin Panel – Manage products, orders, and users
- 📱 Responsive UI – Optimized for all screen sizes
- 🔐 Secure Auth – JWT/Session-based authentication using NextAuth.js
- 🧩 Scalable Architecture – Built with modern best practices
- 🖌️ UI/UX – Styled with Tailwind CSS
Category | Technology |
---|---|
Framework | Next.js 14 |
Language | TypeScript |
Database | MongoDB via Mongoose |
Authentication | NextAuth.js |
Styling | Tailwind CSS |
Payments | Flutterwave API |
Deployment | Vercel |
🔗 https://shopping-ecommerce-gamma.vercel.app
Follow these steps to run the project locally:
git clone https://github.com/josephDev123/shopping-ecommerce.git
cd shopping-ecommerce
npm install
- Create a .env file in the project root and add:
- MONGODB_URI=your_mongodb_uri
- NEXTAUTH_URL=http://localhost:3000
- NEXTAUTH_SECRET=your_secret_key
- OAUTH_CLIENT_ID=your_client_id
- OAUTH_CLIENT_SECRET=your_client_secret
- FLUTTERWAVE_PUBLIC_KEY=your_flutterwave_public_key
- FLUTTERWAVE_SECRET_KEY=your_flutterwave_secret_key
npm run dev
Then open http://localhost:3000 in your browser.
Register or log in to your account.
Browse available products by category or search.
Add items to your cart and review before checkout.
Complete the payment securely via Flutterwave.
(Admin users) Access the dashboard to manage products and orders.
Build and start the app for production:
npm run build
npm start
Joseph Uzuegbu 🔗 GitHub Profile(https://github.com/josephDev123)
💼 Software Engineer