GoGoQuery is a JavaFX-based retail application designed for ElevenSeven Enterprise's GoGoQuery Store. The application addresses operational challenges by providing functionalities for Shoppers and Managers. Shoppers can browse products, manage shopping carts, and make purchases, while Managers can manage inventory and fulfill orders. The application integrates a MySQL database for data storage and ensures a streamlined experience for all users.
- Allows users to log in with their email and password.
- Validates user credentials with the database.
- Displays error messages for:
- Empty fields.
- Incorrect credentials.
- Enables users to create an account with email, password, date of birth, and gender.
- Validations include:
- Email format and uniqueness.
- Password strength and confirmation.
- Date of Birth (must be 17+ years old).
- Successful registration redirects users to the Select Role Page.
- Users can select their role as either a Shopper or Manager.
- Role selection is saved in the database, and a success message is displayed.
- Includes options for:
- Home.
- Search (filters items based on input).
- Cart.
- Log Out.
- Expandable menu with options:
- Add Item.
- Manage Queue.
- Log Out.
- Displays:
- Welcome message with username.
- Filterable product list (only items with stock > 0).
- Allows users to view product details.
- Displays detailed information about a selected product.
- Users can adjust the quantity and add items to the cart.
- Validations ensure:
- Stock availability.
- Positive and valid quantities.
- Displays items in the cart with:
- Quantity adjustment.
- Grand total calculation.
- Remove item and checkout options.
- Checkout creates a new transaction with status In Queue.
- Displays a welcome message with navigation options for managers.
- Allows managers to add new products to the inventory.
- Includes validations for:
- Name, description, and price formats.
- Stock quantity limits.
- Displays transactions in a table view.
- Managers can update transaction status from In Queue to Sent.
-
Software Requirements:
- Eclipse 2020.6 R.
- Java 11.0.18.
- JavaFX 17.0.7.
- MySQL Java Connection Library 8.0.24.
- XAMPP 8.0.7.
-
File Extensions:
.java
,.class
for code..sql
for database scripts.
- Clone the repository:
git clone https://github.com/username/GoGoQuery.git cd GoGoQuery
- Set up the database:
- Import the provided
.sql
file into your MySQL server. - Update database connection details in the project configuration.
- Import the provided
- Install dependencies:
- Ensure the required JavaFX and MySQL libraries are added to the project build path.
- Run the project:
- Launch the application from Eclipse.
- Tables include:
- Users: Stores user information and roles.
- Products: Manages inventory.
- Transactions: Tracks purchases and their statuses.
- Cart: Temporarily stores shopper selections.
- Register → Login → Home Page.
- Browse items, filter by category, and view product details.
- Add items to cart → Adjust quantities → Checkout.
- Login → Manager Home Page.
- Add items to inventory.
- Manage transaction queues and update statuses.
-
General:
- All input fields are mandatory.
- Validations are triggered on button presses or Enter key.
-
Login:
- Fields cannot be empty.
- Credentials must match database records.
-
Registration:
- Email format: Ends with
@gomail.com
, no special characters except_
or.
. - Password: Must be alphanumeric and confirmed.
- Date of Birth: Must indicate age > 17.
- Email format: Ends with
-
Cart:
- Spinner value ≤ stock quantity.
- Checkout clears cart and updates stock.
-
Add Item:
- Item name: 5–70 characters.
- Description: 10–255 characters.
- Price: $0.50–$900,000.
-
Code Files:
- All
.java
and.class
files. - SQL scripts for database setup.
- All
-
Assets:
- Images, audio, or video used in the project.
-
Documentation:
- Explanation of application functionality.
- Reference links for assets used.
Component | Weight |
---|---|
Assignment | 40% |
Project | 60% |
- Late submissions will not be graded.
- Use only designated software to ensure compatibility.
- Adherence to guidelines is mandatory.
This project is part of ISYS6197 for the Odd Semester 2024/2025 and adheres to the course's academic integrity policies. All rights reserved.