Modern inventory and order management dashboard for customers and administrators.
Live: https://snap-order-sigma.vercel.app/
Snap Order is a full-stack Next.js application built with TypeScript, Prisma, and PostgreSQL. It supports role-based access for end users and admins, secure email verification, order management, and inventory workflows.
- Authentication: registration, login, email verification, password reset
- Role-based access:
USERandADMIN - Customer dashboard: order history, available products, profile management
- Admin dashboard: product catalog, customer list, pending restock approvals, order status management
- Inventory controls: stock levels, min/max thresholds, product lifecycle
- Order processing: line-item orders, stock deduction, order status updates
- Restock workflow: pending requests, approval, and cancellation
- Email notifications via Gmail OAuth
User: email, password, role, verification state, reset token fields, last loginProduct: name, description, price, stock, min/max thresholds, supplier relationOrder: order number, status, total amount, shipping address, customer relationOrderItem: order line items, quantity, unit priceRestockRequest: pending/approved/cancelled status, stocked-by admin, timestampsRestockRequestItem: requested product quantity per restock request
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS
- Prisma ORM
- PostgreSQL
- Cloudinary
- Nodemailer with Gmail OAuth
- Zod validation
- shadcn/ui components
- Install dependencies
npm install- Add environment variables
Required variables:
NODE_ENVDATABASE_URLACCESS_TOKEN_SECRETREFRESH_TOKEN_SECRETNEXT_PUBLIC_SITE_URLNEXT_PUBLIC_CLOUDINARY_CLOUD_NAMECLOUDINARY_API_KEYCLOUDINARY_API_SECRETGOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETGOOGLE_REFRESH_TOKENEMAIL_FROM_NAMEEMAIL_FROM
- Apply database migrations
npx prisma migrate deploy- Start development server
npm run devnpm run devnpm run buildnpm run startnpm run lintnpm run clean
Md. Rakibul Islam
Email: rakibul00206@gmail.com
WhatsApp: +8801888419206