A modern Next.js e-commerce application for gadgets, featuring separate interfaces for clients and shop owners. Users can browse products, place orders, and review products, while shop owners can manage inventory and shop details. Built with Next.js, React, Tailwind CSS, and MongoDB.
Project GitHub Repository: https://github.com/Nayan-Krishna-Ball/E-commerce-Gadgets-bd
Live Demo (Vercel): https://e-commerce-gadgets-bd.vercel.app/
-
React: 18
-
Next: 14.2.35
-
Tailwind CSS: 3.x
-
๐ Browse products and shops
-
๐ฌ Dynamic product detail pages with reviews and ratings
-
๐ Clean, SEO-friendly URLs
-
๐ Add to cart and update quantities
-
๐งพ Place orders and view order history
-
โณ Loading states for better UX
-
๐จ Fully responsive UI using Tailwind CS
-
๐ช Add and manage products
-
๐ฆ Inventory management
-
๐ Update shop details
-
๐ Authentication and protected routes
-
๐ธ Image upload using ImageKit
-
Framework: Next.js (App Router)
-
Language: JavaScript (ES6+)
-
Styling: Tailwind CSS
-
Database: MongoDB
-
Authentication: NextAuth.js
-
Image Management: ImageKit
GadgetsBD/
โโ app/ # Pages for client and shop owner
โ โโ (auth)/ # Login, register, forget password
โ โโ (home)/ # Home page, modals
โ โโ cart/ # Cart pages
โ โโ orders/ # Orders pages
โ โโ products/ # Product listing & details
โ โโ profile/ # User profile pages
โ โโ shop/ # Shop owner management pages
โ โโ shops/ # Public shop pages
โ โโ layout.js # Root layout & providers
โโ components/ # Reusable UI components
โ โโ auth/ # Login, register, social login
โ โโ cart/ # Cart components
โ โโ home/ # Home page components
โ โโ order/ # Orders components
โ โโ payment/ # Payment components
โ โโ products/ # Product list & cards
โ โโ productsDetails/ # Product detail components
โ โโ search/ # Filter and search components
โ โโ shop/ # Shop management components
โ โโ shopOwnerDetails/ # Shop owner profile components
โ โโ shops/ # Shop list & single shop components
โ โโ FooterHome.jsx # Global footer
โโ lib/ # DB connection & token utils
โโ models/ # MongoDB models
โโ queries/ # Database query helpers
โโ utils/ # Utility functions
โโ .env # Environment variables
โโ next.config.mjs # Next.js config
โโ tailwind.config.js # Tailwind CSS config
โโ package.json
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Client Browser โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Next.js App Router โ
โโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโค
โ Customer โ Shop Owner โ Authentication โ
โ Routes โ Routes โ Routes โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโค
โ /products โ /shop/dashboard โ /auth/login โ
โ /cart โ /shop/products โ /auth/register โ
โ /orders โ /shop/inventory โ /auth/forgot-passwordโ
โ /shops โ /shop/settings โ โ
โโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ API Layer โ
โ (Next.js Route Handlers) โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Data Layer โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโค
โ MongoDB โ ImageKit โ NextAuth โ
โ Database โ Storage โ Session โ
โโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโ
โ app/layout.js โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โโโโโโโโโโโโผโโโโโโโโโโโ
โ app/page.js โ
โ (Home Page) โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โโโโโโโโโโโโผโโโโโโโโโโโ
โ <HomeHero /> โ
โ <FeaturedProducts />โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ
โโโโโโโโผโโโโโโโ โโโโโโผโโโโโโโโโโ โโโโโโโผโโโโโโโโโโโ
โ <HomeNav /> โ โ <ShopBrands> โ โ <PopularCate/> โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ app/products/[slug]/ โ
โ page.js โ
โโโโโโโโโโโโโโโฌโโโโโโโโโโ
โ
โโโโโโโโโโโโผโโโโโโโโโโโ
โ <ProductsDetails /> โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โโโโโโโโโโโโผโโโโโโโโโโโ
โ <RelatedProducts /> โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โโโโโโโโโโโโผโโโโโโโโโโโ
โ <Review /> โ
โโโโโโโโโโโโโโโโโโโโโโโ
-
Database queries and helper functions
-
Token generation and verification
-
Replace MongoDB _id with id in responses
-
Filter, sort, and search helper functions
- ๐ Forget Password functionality
-
๐ฆ Order Status Management
-
๐ Product Delete functionality
git clone https://github.com/Nayan-Krishna-Ball/E-commerce-Gadgets-bd
npm install
npm run dev
** Gadgets BD demonstrates:
-
Dynamic routing in Next.js
-
Clean and modular component architecture
-
Responsive UI using Tailwind CSS
-
Full-stack functionality with MongoDB and NextAuth