How festrada-it/smartstock works
SmartStock supports retail inventory workflows: users manage catalog and staff, record sales and stock purchases, and view demand, stockout, alert, and summary predictions. The frontend calls separate core and analytics REST services; core owns authentication and inventory transactions, while analytics reads product, sales, and parameter data to produce forecasts. Sampled source confirms several core service-to-repository calls and analytics route-to-data/model calls; other links are included only where documented in the README.
Main entry points: controller Core REST API · main.py Analytics API · api.js API client · js Inventory UI
Components 18
Web application
- Inventory UI
frontend/js - API client
frontend/js/api.js
Inventory core
- Core REST API
core-service/src/main/java/com/smartstock/core/controller - JWT authentication
core-service/src/main/java/com/smartstock/core/service/AuthService.java - JWT service
core-service/src/main/java/com/smartstock/core/security/JwtService.java - Product catalog
core-service/src/main/java/com/smartstock/core/service/ProductoService.java - Categories
core-service/src/main/java/com/smartstock/core/controller/CategoriaController.java - Sales recording
core-service/src/main/java/com/smartstock/core/service/VentaService.java - Stock purchases
core-service/src/main/java/com/smartstock/core/service/CompraService.java - User administration
core-service/src/main/java/com/smartstock/core/service/UsuarioService.java - Business parameters
core-service/src/main/java/com/smartstock/core/controller/ParametroController.java - Access control
core-service/src/main/java/com/smartstock/core/config/SecurityConfig.java
Predictive analytics
- Analytics API
analytics-service/app/main.py - Demand and stockout analysis
analytics-service/app/prediccion.py - Token validation
analytics-service/app/auth.py - Analytics data access
analytics-service/app/db.py
Persistence
- PostgreSQL
Other components
- Retail user
Connections 24
- Retail user → Inventory UI: uses
README.md - Inventory UI → API client: requests data
README.md - API client → Core REST API: REST/JSON + JWT
README.md - API client → Analytics API: REST/JSON + JWT
README.md - Core REST API → JWT authentication: routes login
- Core REST API → Product catalog: routes catalog
core-service/src/main/java/com/smartstock/core/controller/ProductoController.java - Core REST API → Sales recording: routes sales
README.md - Core REST API → Stock purchases: routes purchases
README.md - Core REST API → User administration: routes user admin
core-service/src/main/java/com/smartstock/core/controller/UsuarioController.java - Core REST API → Categories: serves category API
README.md - Core REST API → Business parameters: serves parameter API
README.md - JWT authentication → JWT service: generates token
core-service/src/main/java/com/smartstock/core/service/AuthService.java - Product catalog → PostgreSQL: reads and writes
- Sales recording → PostgreSQL: records sale and stock
- Stock purchases → PostgreSQL: updates stock
- User administration → PostgreSQL: reads and writes
- Categories → PostgreSQL: reads and writes
- Business parameters → PostgreSQL: reads and writes
- Analytics API → Token validation: requires token
analytics-service/app/main.py - Analytics API → Analytics data access: loads inventory and sales
analytics-service/app/main.py - Analytics API → Demand and stockout analysis: analyzes demand
analytics-service/app/main.py - Analytics data access → PostgreSQL: reads analytics data
README.md - Access control → Core REST API: protects endpoints
- JWT service → Token validation: shared JWT secret
core-service/src/main/java/com/smartstock/core/security/JwtService.java