A fully functional e-commerce shop where the products are only viewable by registered customers. This fullstack app features two separate dashboards based on the user role (customer vs admin). Customers can edit their profile, access the products page, purchase and download paid-for products, and view all of their orders. Admins can add, edit, and delete products, delete and view all users, edit user roles, and view all customers and sales/orders.
- Next.js 14
- Typescript
- TailwindCSS
- Auth.js
- Stripe
- Prisma
- Vercel Postgres
- Vercel Blob Storage
- Shadcn UI (Components)
- Resend (Emails)
- Zod (Validation Library)
- Admin and Customer Dashboard
- Authentication, Authorization, and Session Management (Auth.js)
- Checkout using Stripe
- Send Emails w/ Resend
- Product Downloads
- Product Image & Product File Uploads (admin users only)
- Input Validation w/ Zod
- CRUD Operations
- “Forgot Password” functionality
- Shopping Cart: ability to purchase more than one product at a time
- Customer Dashboard: ability to edit profile image
- Admin Dashboard: ability to add new users
- Implement a rewards program feature