How joaogt01/loja-que-aluga-de-um-tudo works
A Java console application for an all-purpose rental shop. Customers browse available inventory and review rental history or pending fines; staff and administrators manage users, inventory, categories, suppliers, contracts, fines, and revenue reports. The runtime is wired in Main through role menus, a facade, domain business services, and CSV-backed repositories. The README documents the CRUD areas, while sampled code confirms rental, return, fine, and persistence behavior; unsampled menu and service details are represented only at the subsystem level.
Main entry points: LojaFacade.java Shop facade · MenuLogin.java Login menu · ContratoBusiness.java Rental service · UsuarioBusiness.java User service
Components 21
Console interface
- Application setup
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/Main.java - Login menu
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/ui/MenuLogin.java - Customer menu
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/ui/MenuCliente.java - Staff menu
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/ui/MenuFuncionario.java - Admin menu
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/ui/MenuAdmin.java
Rental operations
- Shop facade
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/padraoFacade/LojaFacade.java - User service
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/business/UsuarioBusiness.java - Item service
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/business/ItemBusiness.java - Rental service
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/business/ContratoBusiness.java - Fine service
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/business/MultaBusiness.java
Shop records
- Category service
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/business/CategoriaBusiness.java - Supplier service
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/business/FornecedorBusiness.java - Domain records
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/model
CSV persistence
- Users CSV
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/repositories/UsuarioPersistenciaCSV.java - Items CSV
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/repositories/ItemPersistenciaCSV.java - Contracts CSV
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/repositories/ContratoPersistenciaCSV.java - Fines CSV
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/repositories/MultaPersistenciaCSV.java - Categories CSV
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/repositories/CategoriaPersistenciaCSV.java - Suppliers CSV
Loja-que-aluga-de-um-tudo/loja-aluga-tudo/src/main/java/com/loja/repositories/FornecedorPersistenciaCSV.java
Other components
- Customer
- Staff / admin
Connections 27
- Application setup → Login menu: starts
- Application setup → Shop facade: wires services
- Customer → Login menu: uses
- Staff / admin → Login menu: uses
- Login menu → Customer menu: opens
- Login menu → Staff menu: opens
- Login menu → Admin menu: opens
- Customer menu → Shop facade: requests rentals
- Staff menu → Shop facade: requests operations
- Admin menu → Shop facade: requests management
- Shop facade → User service: delegates
- Shop facade → Item service: delegates
- Shop facade → Rental service: delegates
- Shop facade → Fine service: delegates
- Shop facade → Category service: delegates
- Shop facade → Supplier service: delegates
- Rental service → User service: checks customer
- Rental service → Item service: checks and updates
- Rental service → Contracts CSV: reads and writes
- User service → Users CSV: reads and writes
- Item service → Items CSV: reads and writes
- Fine service → Fines CSV: reads and writes
- Category service → Categories CSV: reads and writes
- Supplier service → Suppliers CSV: reads and writes
- Shop facade → Rental service: aggregates revenue
- Shop facade → Fine service: aggregates revenue
- Shop facade → Domain records: uses records