The GameStart Management System is a Java application designed to help the GameStart video game store manage their business operations. The system provides features for analyzing sales, managing customer data, and handling administrative tasks through different user roles (ADMIN and CLIENT).
- View Files: Display the contents of Sales, Customers, and Categories files.
- Total Sales: Show the total number of sales and their cumulative value.
- Total Profit: Calculate and display the total profit based on commission percentages.
- Customer Search: Given a customer ID, display all associated information (name, contact, email).
- Most Expensive Game: Display the most expensive game sold and the customers who bought it.
- Top Customers: Show the top spending customers and a list of all games they purchased.
- Top Category: Display the category that generated the most profit and the profit amount.
- Sales Search: Given a game name, display all customers who purchased it.
- Top 5 Games: Show the top 5 games that generated the most profit.
- Bottom 5 Games: Show the top 5 games that generated the least profit.
- Register New Sale: Add a new sale entry to the sales file.
- Register New Client: Simulate client registration and display the success message.
- Search Parking: Display available parking spots based on specific criteria.
- Print Catalog: Print all game titles without duplicates.
- Print Graphic Catalogs: Print the catalog of selected games with graphical content.
- Print Publisher Catalog: Given a publisher, display all categories and respective games.
- Print Category Catalog: Given a category, display all publishers and respective games.
- Print Most Recent Game: Display the most recently sold game.
- Find Friends: Given a customer ID, display names and emails of all customers who bought the same games.
- JDK 17
Clone the repository:
- Clone the repository:
git clone https://github.com/Pris-c/game-start-management.git
Compile the Program:
- Go into the root directory of the projec:
cd gamestart-management/src - Compile the project:
javac Main.java
Run:
- Execute the 'Main' class to initiate user interaction.
java Main
Upon running the application, you will be prompted to choose your user type (ADMIN or CLIENT). Depending on your choice, the system will display the respective menu options.
-
Initial menu:
> --- Seja bem vindo à Game Start! --- > Informe sua categoria de utilizador: > 1 - CLIENTE > 2 - ADMINISTRADOR > Para encerrar, digite 0. -
Login:
> Nome de utilizador: > Senha: -
View Total Sales:
> Menu > 2 - Consultar Total de Vendas
- Register New Client:
> Tipo de Utilizador (ADMIN || CLIENTE): CLIENTE > > 1. Novo Registo > > -- Registrar Cliente -- > Nome do cliente: Steve Jobs > Telefone para contacto: 911 222 333 > Endereço de e-mail: apple@gmail.com > > Cliente registrado com sucesso! > Steve Jobs | 911 222 333 | apple@gmail.com
The application reads and writes data from/to CSV files stored in the project directory:
GameStart_Vendas.csv: Stores all sales records.GameStart_Clientes.csv: Stores all customer information. This file must not have a header.GameStart_Categorias.csv: Stores commission percentages for different game categories.GameStart_Admins.csv: Stores login credentials for administrative users.
Contributions are welcome! Feel free to open issues to report bugs or propose enhancements. If you'd like to contribute directly, open a pull request.
Priscila Campos 👩💻
