FastPiks is a dynamic and feature-rich e-commerce platform built with Next.js, ShadCN UI, and Tailwind CSS. It offers a seamless shopping experience where users can browse, buy, add, and remove products from their cart, all while ensuring authentication and authorization for security.
- Product Browsing & Purchase: Explore a wide range of products and place orders effortlessly.
- Cart System: Add or remove items from the cart with ease.
- Authentication & Authorization: Secure access with user authentication.
- Product Management: Add, update, and delete products.
- Protected Admin Route: Restricted access to administrative features.
- Future Enhancements (In Progress):
- User Analytics: Track visitor activity and engagement.
- Product Reviews: Allow customers to leave feedback and ratings.
- Comprehensive Admin Dashboard: Gain insights into sales and customer behavior.
- Next.js (Frontend + Backend)
- MongoDB (Mongoose ORM)
- Tailwind CSS 🎨
- ShadCN UI 💅
- React Hook Form 📄
- Zod 🛡️
- Axios 🌐
- JWT (JSON Web Token) 🔑
- NextAuth.js ⚡
- Bcrypt 🔒 (Password Hashing)
- Nodemailer ✉️
FastPiks is an evolving project! Developers are welcome to contribute and improve its features. Fork the repository and submit pull requests.
To run FastPiks locally, set up the following environment variables:
MONGODB_URI=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
EMAIL_USER=
EMAIL_PASS=
JWT_SECRET_KEY=
NEXTAUTH_SECRET=
NEXTAUTH_URL=
Follow these steps to set up and run FastPiks on your local machine:
git clone https://github.com/your-repo/fastpiks.git
cd fastpiksEnsure Node.js and npm are installed, then run:
npm installCreate a .env file in the root directory and add the required variables as listed above.
Ensure MongoDB is running locally or use a cloud-based database (e.g., MongoDB Atlas). Update MONGODB_URI in .env accordingly.
npm run devYour application will be available at http://localhost:3000
To create a production build, run:
npm run build
npm startFor deployment, configure a platform like Vercel or Netlify with the necessary environment variables.