Full Stack E-Commerce Website (+ Dashboard) with Next.js 16: React, Typescript, Tailwindcss, Prisma, PostgreSQL, NextAuth, Redux
Bitex is a full-stack E-Commerce project developed with Next.js 16, featuring a range of technologies including React, Typescript, Tailwindcss, Prisma, PostgreSQL, NextAuth, and Redux.
Note: This project is a personal endeavor created for portfolio purposes and is not associated with any real business or project.
This repository is now structured as a Turborepo monorepo managed with pnpm workspaces. The Next.js storefront lives in apps/store, and shared code is published under packages/*.
The original single-package, MongoDB codebase has been preserved unchanged on a dedicated branch:
👉 Branch:
legacy/mongo-monolithCheck it out locally with:
git checkout legacy/mongo-monolithUse this branch if you want to see the project as it was before the monorepo restructure and the Postgres migration. It is kept for historical / portfolio reference and is not receiving new updates.
- Credential authentication for Dashboard using NextAuth.
- Advanced category management, including combining categories.
- Add, update, and delete categories and subcategories.
- Dedicated specifications for every category.
- Add and delete products with category-specific specifications.
- Add, update, and delete brands.
- Reports on user page visits.
-
Full responsiveness
-
CSS animations and effects
-
Skeleton loadings (without using external library )to have seamless page navigation experience.
-
Custom made UI Components (no external library):
- Price range slider
- CheckBox
- DropDownList
- Popups
- Button
-
Interactive Homepage Slider
- Crafted from scratch without using any Library
- Supports both Mouse Drag and
TouchInput
-
Shopping cart management with Redux.
-
Product gallery to showcase items attractively.
-
Dynamically Loading Categories (List) from Database
- Advanced filters products by Price, Brand, and Availability.
- Sorting options in product list page (sort by name and price).
- Interaction with PostgreSQL database using Prisma ORM.
- Relational schema with Prisma migrations (see
apps/store/prisma/migrations/). - Server-side form data validation using ZOD.
git clone https://github.com/HosseinNamvar/bitex.gitFrom the repository root (pnpm workspaces):
pnpm installCreate apps/store/.env with:
DATABASE_URL= # PostgreSQL connection string, e.g. postgresql://user:pass@host:5432/bitex
NEXTAUTH_SECRET=
CLOUDINARY_URL= # Hosting address for product imagesApply the committed Postgres migrations:
pnpm --filter bitex-store exec prisma migrate deployFor local development against a fresh database, you can use:
pnpm --filter bitex-store exec prisma migrate devFrom the repo root (runs through Turborepo):
pnpm dev