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.
- Model-View-Controller (MVC): The application uses the MVC pattern to separate data (Model), user interface (View), and business logic (Controller). This structure makes the application easier to maintain and expand.
-
📝 Sign Up / Login:
- New users can sign up by providing personal details.
- Existing users can log in using their credentials.
-
✏️ Edit Profile:
- Users can access their profiles and update personal information.
-
🛍️ Browse Products:
- Users can view a list of available products.
- Use the search bar to search for products by name or filter products based on categories and price range.
-
🛒 Add to Cart:
- Once a product is selected, users can add it to their shopping cart.
-
🛒 View Cart:
- Users can view the products in their cart, including product details, quantities, and total price.
-
💳 Checkout:
- Review the cart, accept the items, and proceed to the payment process.
-
💰 Charge Account:
- Users can charge their account to make payments for purchases or add balance to their account.
-
🌟 Rating & Comment:
- After product approval by the admin, users can rate and leave comments.
-
🛠️ Admin Management:
- Admins have the ability to add, edit, or delete products.
- Admins can accept or reject user comments and ratings.
-
💸 Charge User Account:
- Admins can charge user accounts for purchases or manually adjust 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.