This Online Shop application is implemented using Java and JavaFX, providing a wide range of functionalities for users and administrators. The system is built using the Model-View-Controller (MVC) architecture to separate concerns and improve maintainability. It includes features such as user sign-up/login, product management, shopping cart functionality, and more. The administrator has additional privileges, such as accepting requests, adding/editing/deleting products, and managing user profiles.
- 📝 Sign Up / Login: New users can sign up and existing users can log in to their accounts.
- ✏️ Edit Profile: Users can edit their personal information.
- 🛍️ Show Products: Browse available products with details such as name, description, and price.
- 🔍 Search & Filter Products: Search for products by name or filter by category and price range.
- 🛒 Add to Cart: Add products to the shopping cart.
- 🛒 View Cart: Users can view the contents of their cart, including product details and quantities.
- 💳 Checkout: View the cart, accept the cart, and proceed to payment.
- 💰 Charge Account: Users can charge their account to make purchases or add balance to their account.
- 🌟 Rating & Comment: Users can rate products and add comments (after admin approval).
- 🛠️ Add Product: Admins can add new products to the shop.
- ✏️ Edit Product: Admins can update product details such as name, price, and description.
- ❌ Delete Product: Admins can delete products from the shop.
- ✔️ Accept User Requests: Admins can accept or reject user requests for product ratings and comments.
- 💸 Charge User Account: Admins can charge user accounts for purchases or balances.
- Java: The main programming language used for implementing the business logic.
- JavaFX: A powerful framework for building user interfaces in Java.
- FXML: Used to define the UI layout and structure for JavaFX scenes.
- MVC Architecture: To separate the application into Model, View, and Controller for better maintainability and scalability.