How gabriel-perin99/spring-stock-controller works
This is a Spring-based stock-control application with an optional JavaFX desktop client. Users add, update, delete, browse, and search products; the GUI calls a local JSON API, whose controller delegates product operations through a service to JPA persistence. The README documents SQLite storage and live name/code filtering in the GUI. The GUI and API excerpts support their main interactions, but database configuration and some interface code were not sampled, so finer wiring is omitted.
Main entry points: ClientInterface.java JavaFX interface · ProductApiClient.java HTTP client · ProductController.java Product endpoints · ProductRepository.java JPA repository
Components 11
Desktop client
- JavaFX interface
src/main/java/com/gitHub/GabrielPerin/Spring_Stock_Controller/view/ClientInterface.java - HTTP client
src/main/java/com/gitHub/GabrielPerin/Spring_Stock_Controller/view/ProductApiClient.java - Product DTO
src/main/java/com/gitHub/GabrielPerin/Spring_Stock_Controller/view/ProductDTO.java
HTTP API
- Product endpoints
src/main/java/com/gitHub/GabrielPerin/Spring_Stock_Controller/controller/ProductController.java
Product persistence
- Product operations
src/main/java/com/gitHub/GabrielPerin/Spring_Stock_Controller/service/ProductService.java - JPA repository
src/main/java/com/gitHub/GabrielPerin/Spring_Stock_Controller/repository/ProductRepository.java - Product entity
src/main/java/com/gitHub/GabrielPerin/Spring_Stock_Controller/model/Product.java - SQLite database
Application runtime
- Desktop launcher
src/main/java/com/gitHub/GabrielPerin/Spring_Stock_Controller/Main.java - Spring bootstrap
src/main/java/com/gitHub/GabrielPerin/Spring_Stock_Controller/SpringStockControllerApplication.java
Other components
- Stock user
Connections 13
- Stock user → JavaFX interface: uses
- Desktop launcher → Spring bootstrap: starts
- Desktop launcher → JavaFX interface: launches
- JavaFX interface → HTTP client: requests
- JavaFX interface → Product DTO: creates
- HTTP client → Product DTO: serializes
- HTTP client → Product endpoints: HTTP JSON
- Product endpoints → HTTP client: returns JSON
- Product endpoints → Product operations: delegates
- Product operations → JPA repository: queries and writes
- JPA repository → Product entity: maps entity
- JPA repository → SQLite database: persists
- JavaFX interface → HTTP client: refreshes table