
Techbuy
Full-stack e-commerce storefront and admin dashboard
- Website
- Next.js
- React
- MongoDB
- TypeScript
- Tailwindcss
- Prisma
- Shadcn/ui
- Stripe
- Vercel
Techbuy is an ecommerce storefront application that allows users to browse and purchase tech products. It also includes an admin dashboard for managing categories, products, and orders.
It was developed as a personal project to learn and practice building full-stack web applications using Next.js and Stripe.
Tech stack
Features
Optimistically UI updated shopping cart
The shopping cart is stored in database and optimistically updated in the UI using React context API and the useOptimistic hook to provide a seamless user experience.
Stripe payment processing with webhook integration
Payments are processed using Stripe and the application is notified of successful payments via a webhook. The webhook is secured using a secret key and verified using the Stripe SDK.
Product search and sorting
Users can search for products by name and sort products by price, latest products, most popular, or most relevant.
Product management - Admin Feature
Admin users can easily manage products via an intuitive admin dashboard. They can add, edit, change status, and delete products. The interface also includes functionalities such as search, sorting, and filtering.
Other features
- Order management - admin users can view and manage orders, such as viewing customer information, order details, and shipping information, and changing order status.
- Category management - admin users can manage categories, such as adding, editing, and deleting categories.
- Session-based authentication and authorization - login, signup using email and password, and reset password by email.
- Role-based access control - admin users have access to admin features, while regular users can only browse and purchase products.
- Rate limiting using sliding window algorithm.
Future improvements
- Personalized product recommendations based on purchase history and preferences.
- Product reviews and ratings.
- Product comparison feature.
- Integration with shipping carriers for real-time shipping rates and tracking information.