- User Authentication: Users can sign up, log in, and log out of the website to access personalized features and perform actions like placing orders, managing their profile, and viewing order history.
- User Profile: Registered users can modify their personal information, such as name, address, and contact details, from their profile settings.
- Avatar Customization: Users can upload and update their profile picture or avatar to personalize their user profile.
- Product Catalog: The website provides a comprehensive catalog of products, categorized into different categories for easy navigation and searching.
- Product Details: Each product has a dedicated page that displays detailed information such as description, price, images, and customer reviews.
- Search Functionality: Users can search for products based on keywords or specific criteria to find relevant items quickly.
- Shopping Cart: Users can add products to their shopping cart, view the cart, modify the quantity or remove items, and proceed to the checkout.
- Wishlist: Users can add products to their wishlist, allowing them to save desired items for future reference or purchase.
- Payment Processing: Integration with a secure payment gateway allows users to securely make payments for their orders using credit cards, debit cards, or other supported payment methods.
- Order Management: Users can view and track the status of their orders, including information like shipping details and estimated delivery dates.
- Product Reviews and Ratings: Users can leave reviews and ratings for products, providing valuable feedback to other users and influencing their purchasing decisions.
- Seller Registration: Users can register as sellers to sell their products on the platform.
- Seller Dashboard: Sellers have access to a dedicated dashboard where they can manage their products, view order details, and track their sales.
- Product Management: Sellers can post new products, update product details, and manage inventory.
- Discount Events: Sellers can create discount events or sales promotions for their products.
- Coupon Codes: Sellers can generate and manage coupon codes to offer discounts to customers.
- Order Status Management: Sellers can manage the status of orders related to their products, such as confirming, shipping, or canceling orders.
- Real-time Messaging: Users can send messages in real-time to sellers for inquiries, support, or other communication purposes.
- Node.js
- Express.js
- MongoDB
- bcrypt
- cookie-parser
- cors
- dotenv
- jsonwebtoken
- mongoose
- multer
- nodemailer
- stripe
- socket.io
- React
- React Redux
- Redux Toolkit
- socket.io-client
- @stripe/react-stripe-js
- @stripe/stripe-js
- @paypal/react-paypal-js
- Amazon EC2(Ubuntu)
- PM2
- Nginx