The Digital Products E-commerce Website is a scalable and secure platform designed for selling digital products. It includes a Seller Dashboard, advanced search and filtering, and flash sales. Built using Next.js, MongoDB, and Express.js, the platform ensures high performance and responsiveness.
- JWT-based Authentication: Secure login and signup.
- User Roles: Admin, Seller, and Customer.
- Profile Management: Update user details and preferences.
- CRUD Operations: Sellers can add, edit, and delete products.
- Product Details: Includes images, title, description, price, brand, and ratings.
- Categorization: Products grouped by brand and category.
- Product Management: Manage inventory with an intuitive interface.
- Sales Tracking: View analytics on sales and performance.
- Limited-time Offers: Exclusive discounts on selected products.
- Countdown Timer: Displays expiration time for deals.
- Full-Text Search: Find products by name, brand, or description.
- Advanced Filters: Filter products by category, brand, price range, and ratings.
- Dynamic Listings: Showcases best-rated and most-purchased products.
- Admin Dashboard: Manage users, products, and sales.
- Seller Dashboard: Track and optimize product performance.
- Optimized Loading: Utilizes SSG, SSR, and ISR for improved speed.
- SEO Best Practices: Enhances search visibility.
- Custom Error Pages: Dedicated pages for 404 and other errors.
- Frontend: Next.js, Tailwind CSS
- Backend: Node.js, Express.js, MongoDB
- Authentication: JWT
- Deployment: Frontend and backend on Render
- State Management: Redux Toolkit
{
"name": "String",
"email": "String",
"password": "String",
"role": "String", // 'admin', 'seller', 'customer'
"createdAt": "Date",
"updatedAt": "Date"
}
{
"title": "String",
"description": "String",
"price": "Number",
"brand": "String",
"category": "String",
"images": ["String"],
"rating": "Number",
"flashSale": "Boolean",
"sellerId": "ObjectId",
"createdAt": "Date",
"updatedAt": "Date"
}
{
"userId": "ObjectId",
"products": [
{
"productId": "ObjectId",
"quantity": "Number"
}
],
"totalPrice": "Number",
"status": "String", // 'pending', 'completed', 'cancelled'
"createdAt": "Date",
"updatedAt": "Date"
}
- POST
/api/register
- Register a new user. - POST
/api/login
- Authenticate a user.
- GET
/api/products
- Fetch all products with optional filters. - GET
/api/products/:id
- Fetch details of a single product. - POST
/api/products
- Add a new product (Admin & Seller only). - PUT
/api/products/:id
- Update product details (Admin & Seller only). - DELETE
/api/products/:id
- Delete a product (Admin & Seller only).
- GET
/api/flash-sale
- Fetch all flash sale products.
- POST
/api/orders
- Place a new order. - GET
/api/orders
- Fetch all orders for a user. - GET
/api/orders/:id
- Fetch details of a single order.
- Frontend: Deployed on Render
- Backend: Hosted on [Render](https://www.cyclic.sh/
- Fork the repository.
- Clone the project:
git clone https://github.com/Dev-Tanvir-Ahamed/creativeGhor.git
- Install dependencies:
npm install
- Create a new branch:
git checkout -b feature-branch
- Make your changes and commit:
git commit -m "Your message"
- Push to the branch:
git push origin feature-branch
- Create a Pull Request.
This project is licensed under the MIT License.
For any inquiries, please contact Tanvir Ahamed.