- Users must be able to register on the website using name, email, and password.
- Registered users should be able to log in to the website, and all users should be able to log out securely.
- Users should be able to manage their profiles, update their name, and change passwords.
- The website should have an "About Us" section (providing company and mission details) and a "FAQs" section (for some basic common queries).
- The website should have a dedicated "Contact Us" section (for user support).
- The user should be able to send direct messages to the admin’s mail.
- The website should support switching between dark and light mode.
- Display a list of available PC components with detailed product categories, descriptions, images, and pricing.
- Customers should be able to filter products by category (e.g., graphics cards, processors), brand, price range, and sort by high to low, low to high price, A to Z, Z to A.
- The user can also search the products by typing the name of the products in the search bar.
- Customers should be able to add individual products to their cart from the shop.
- Customers should be able to view and manage their cart, including removing items, updating quantities, and checking the total cost.
- After logging in, users should be able to checkout, select payment methods (bank transfer, card, e-wallet), and complete their purchase.
- Users can input their budget and usage requirements, and based on their inputs, the system will suggest a list of PC components that fit within their budget and meet their needs.
- The user should be able to add the suggested components by the system to the cart and perform cart management on the added items.
- If the suggested PC components exceed the user's budget, the system should display a message informing the user that their requirements cannot be fulfilled within the given budget.
- Users should be able to select individual components according to their choice to build a PC.
- All the manually selected items can be added to the cart.
- An AI chatbot should be available to answer general user queries related to products, shipping, and other basic inquiries.