How gabsiq73/vitalis works
Vitalis is a Spring backend for commercial operations at a water-and-gas distributor. Staff use its API to manage customers and orders; order handling splits water and gas items, while gas transactions can trigger settlement work. Payments apply to order debt and distribute excess FIFO, updating client credit. Separate capabilities cover stock, borrowed bottles, supplier and settlement management, and financial reporting. Services hold business rules, repositories persist domain data, and security loads users through UserService. The sampled excerpts confirm order, payment, client, reporting, and authentication links; unsampled feature wiring is not inferred.
Main entry points: PaymentService.java Payments and FIFO · OrderService.java Order workflow · FinancialService.java Financial reporting · ClientService.java Client accounts
Components 25
API endpoints
- Orders API
src/main/java/com/vitalis/demo/controller/OrderController.java - Clients API
src/main/java/com/vitalis/demo/controller/ClientController.java - Payments API
src/main/java/com/vitalis/demo/controller/PaymentController.java - Stock API
src/main/java/com/vitalis/demo/controller/StockController.java - Bottle loans API
src/main/java/com/vitalis/demo/controller/LoanedBottleController.java - Gas settlement API
src/main/java/com/vitalis/demo/controller/GasSettlementController.java - Financial reports API
src/main/java/com/vitalis/demo/controller/FinancialReportController.java - User API
src/main/java/com/vitalis/demo/controller/UserController.java
Business services
- Order workflow
src/main/java/com/vitalis/demo/service/OrderService.java - Payments and FIFO
src/main/java/com/vitalis/demo/service/PaymentService.java - Client accounts
src/main/java/com/vitalis/demo/service/ClientService.java - Stock control
src/main/java/com/vitalis/demo/service/StockService.java - Bottle loans
src/main/java/com/vitalis/demo/service/LoanedBottleService.java - Gas settlements
src/main/java/com/vitalis/demo/service/GasSettlementService.java - Gas suppliers
src/main/java/com/vitalis/demo/service/GasSupplierService.java - Financial reporting
src/main/java/com/vitalis/demo/service/FinancialService.java - Product catalog
src/main/java/com/vitalis/demo/service/ProductService.java
Persistence
- Order records
src/main/java/com/vitalis/demo/repository/OrderRepository.java - Payment records
src/main/java/com/vitalis/demo/repository/PaymentRepository.java - Settlement records
src/main/java/com/vitalis/demo/repository/GasSettlementRepository.java - Client records
src/main/java/com/vitalis/demo/repository/ClientRepository.java
Security
- User accounts
src/main/java/com/vitalis/demo/service/UserService.java - User lookup
src/main/java/com/vitalis/demo/security/CustomUserDetailsService.java - Security setup
src/main/java/com/vitalis/demo/config/SecurityConfig.java
Other components
- Staff user
Connections 30
- Staff user → Orders API: submits orders
- Staff user → Clients API: manages clients
- Staff user → Payments API: records payments
- Staff user → Stock API: checks stock
- Staff user → Bottle loans API: tracks loans
- Staff user → Gas settlement API: settles gas
- Staff user → Financial reports API: requests reports
- Staff user → User API: manages users
- Orders API → Order workflow: delegates
- Order workflow → Gas settlements: creates gas settlements
- Order workflow → Client accounts: adds excess credit
- Order workflow → Order records: persists orders
- Payments API → Payments and FIFO: delegates
- Payments and FIFO → Order workflow: loads order
- Payments and FIFO → Client accounts: updates credit and debt
- Payments and FIFO → Order records: fetches open orders
- Payments and FIFO → Payment records: persists payments
- Clients API → Client accounts: delegates
- Client accounts → Client records: reads and writes clients
- Financial reports API → Financial reporting: delegates
- Financial reporting → Order records: reads orders
- Financial reporting → Payment records: aggregates payments
- Financial reporting → Settlement records: aggregates profit
- Gas settlement API → Gas settlements: delegates
- Gas settlements → Settlement records: stores settlements
- Bottle loans API → Bottle loans: delegates
- Stock API → Stock control: delegates
- User API → User accounts: delegates
- Security setup → User lookup: configures lookup
- User lookup → User accounts: loads account