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.