Releases: CSCE315-Spring23/Team_44_Project_2
Phase 3
Github Release Notes
In this release, we are proud to present the minimum viable product (MVP) version of our Chic-fil-A point of sale system. This application features a Graphical User Interface (GUI) built in JavaFX, which connects to a database to execute all of the features detailed in our requirements.
Features:
-Connects to the database
-Submits orders
-Views order history
-Views and edits the menu
-View and edit inventory
Architecture:
Uses a SessionData object that keeps scenes concurrent with data
Uses FXML and SceneBuilder for the user interface
Each project member worked on a different scene: OrderScene, OrderHistory, EditMenu, and Inventory
Dependencies:
This application requires the following dependencies to be installed:
JavaFX 19+
Installation:
To install and run the application, follow these steps:
-Clone the repository to your local machine
-Install the required dependencies
-Compile all the classes and run the main class with the following vm args: --module-path /path/to/javafx --add-modules javafx.controls,javafx.fxml
Future Plans/Known Issues:
- Need to add employee screen and data trends screen for phase 4
- Need to update CSS for more visual appeal
Phase 4
Version 1.4 Release Notes This release marks the completion of phase 4 of the Chic-fil-a point of sale system project.
Link to Docs: https://csce315-spring23.github.io/Team_44_Project_2/
Features added in this release:
- Dynamic Menu: We have implemented a dynamic menu that allows for updating, adding, or removing items from the menu. The menu is now properly synchronized with the menuitem SQL table and the GUI, which updates the recipe table as well.
- The new menu system allows for specialty and seasonal items, making the menu more versatile and customizable.
- Items can now be removed from an order without creating an entirely new order.
- Reports/Data Trends Feature: The new reports and data trends feature includes four different reports: sales report, restock report, X and Z report, and excess report. With this feature, users can easily monitor and analyze sales, restock requirements, and excess items.
- What Sales Together: We have also added a new section under the data trends feature that allows users to view which items are commonly bought together, called "What Sales Together". This feature makes it easier for users to make informed decisions on item placement, promotions, and menu design.
- All the features from phase 3 remain or are improved in useability
Architecture:
The Chic-fil-A point of sale system uses a object that keeps scenes concurrent with data, and utilizes FXML and SceneBuilder for the user interface.
Dependencies:
This project was written in Java and JavaFX 19.0.2, and requires the following dependencies to be installed:
- JavaFX 19+
Installation: To install and run the application, follow these steps:
- Clone the repository to your local machine
- Install the required dependencies
- Compile all the classes and run the main class with the following vm args: --module-path /path/to/javafx --add-modules javafx.controls,javafx.fxml
Phase 2
In this phase of the project, there are 3 main things we worked on:
- Our database tables
- An auto-generator script for the order history
- SQL queries per the project requirements
The database has 6 tables, and they are currently live in the database. The SQL to create those tables is located in the tablesSQL.sql file in this repo.
The auto generator is contained in the OrderAutoGenerator folder. It is written in Python and generates CSV files based on a menu, date range, and game days. It does not directly communicate with the database, and instead, we import the CSV files it generates into the database.
Our SQL queries aim to cover our database's functionality and the data's validity. We have queries that show all the tables, important statistics or averages from some tables, a summation of order history, game day data, and average sales data.