Skip to content

UI-AP-2023/first-project-Onlineshop

Repository files navigation

🛒 Online Shop Application

📋 Overview

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.

🚀 Features

🔑 User Features

  • 📝 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).

🛠️ Admin Features

  • 🛠️ 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.

🏗️ Architecture

  • 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.

🖥️ How to Use

  1. 📝 Sign Up / Login:

    • New users can sign up by providing personal details.
    • Existing users can log in using their credentials.
  2. ✏️ Edit Profile:

    • Users can access their profiles and update personal information.
  3. 🛍️ 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.
  4. 🛒 Add to Cart:

    • Once a product is selected, users can add it to their shopping cart.
  5. 🛒 View Cart:

    • Users can view the products in their cart, including product details, quantities, and total price.
  6. 💳 Checkout:

    • Review the cart, accept the items, and proceed to the payment process.
  7. 💰 Charge Account:

    • Users can charge their account to make payments for purchases or add balance to their account.
  8. 🌟 Rating & Comment:

    • After product approval by the admin, users can rate and leave comments.
  9. 🛠️ Admin Management:

    • Admins have the ability to add, edit, or delete products.
    • Admins can accept or reject user comments and ratings.
  10. 💸 Charge User Account:

    • Admins can charge user accounts for purchases or manually adjust balances.

🛠️ Technologies Used

  • 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.

About

first-project-Shabnam2003 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages