This Java application manages and displays data from SuperStore, with a focus on orders and customer statistics, through an interactive user interface.
- Data Processing: Analyzes and processes order data. (CSV file is included)
- Customer Search: Allows searching for customers by name or ID.
- Order Search: Enables searching for orders by ID.
- Customer Summary: Displays a table summarizing all orders made by a selected customer.
- Order Details: Provides detailed views of specific orders.
- Statistics Generation: Offers six statistics buttons for various insights.
- Data Export: Exports sales reports in
sales-report_<date>.txtformat.
- Java
- JavaFX - For GUI components.
- Gradle - For building and managing dependencies.
├── build/
│ └── libs/
│ └── app.jar
└── src/
├── main/
│ ├── java/
│ │ ├── main/
│ │ │ └── Launcher.java // entry class
│ │ └── SuperStore/
│ │ ├── Address.java // Address
│ │ ├── App.java // javaFx
│ │ ├── CategoryInfo.java // Record, Category
│ │ ├── Customer.java // Customer
│ │ ├── CustomerMapUtils.java // statistics methods for statistics
│ │ ├── FileDataProcessor.java // processor for read file from Inputstream (fits JAR)
│ │ ├── FileOutput.java // not in use
│ │ ├── InstanceGenerator.java // process stream to objects
│ │ ├── Order.java // Order
│ │ ├── Product.java // Product
│ │ ├── propertyCustomerStat.java // for adding cell into table
│ │ └── propertySalesStat.java // for adding cell into table
│ └── resources/
│ ├── SuperStoreOrders.csv // source set
│ └── SuperStoreReturns.csv // source setTo build and run the project, follow these steps:
- Build the Project with Dependencies
./gradlew clean shadowJar --refresh-dependencies
- Run the Application
java -jar ./app/build/libs/app.jar - View JAR Contents jar tf ./app/build/libs/app.jar > app\build\resources\jar_contents.txt
- v1.0.0-alpha - Initial pre-release : Known issues
- v2.0.0 - Functional GUI : Configure ShadowJar for javaFx
- v3.0.0 - GUI release : Require test suites
- Project Lead: Yannan Zhang
- Email: yannan.zhang@tuni.fi