How ricardogm7/collina works
Collina is documented as a sports-club operations platform, but the supplied source tree implements its inventory domain and only the frontend shell/auth/API foundation. The visible inventory workflow manages categories and products, tracks stock and movements, and supports orders and payment confirmation. The README describes a layered Spring API and a React client; edges beyond the sampled inventory services rely on that documented architecture. Other club domains are described in the README but have no implementation paths in this tree, so they are not represented as implemented components.
Main entry points: api.ts API client · estoque JPA repositories · App.tsx React app · index.tsx Routes
Components 18
Web client
- React app
frontend/src/App.tsx - Routes
frontend/src/routes/index.tsx - Route guard
frontend/src/routes/ProtectedRoute.tsx - Auth state
frontend/src/context/AuthContext.tsx - Firebase Auth
frontend/src/config/firebase.ts - API client
frontend/src/services/api.ts
Inventory API
- Category endpoints
backend/src/main/java/br/ufs/dcomp/collina/controller/estoque/CategoriaController.java - Product endpoints
backend/src/main/java/br/ufs/dcomp/collina/controller/estoque/ProdutoController.java - Stock endpoints
backend/src/main/java/br/ufs/dcomp/collina/controller/estoque/EstoqueController.java - Order endpoints
backend/src/main/java/br/ufs/dcomp/collina/controller/estoque/PedidoController.java
Inventory domain
- Category rules
backend/src/main/java/br/ufs/dcomp/collina/service/estoque/CategoriaService.java - Product rules
backend/src/main/java/br/ufs/dcomp/collina/service/estoque/ProdutoService.java - Stock operations
backend/src/main/java/br/ufs/dcomp/collina/service/estoque/EstoqueService.java - Order & payment
backend/src/main/java/br/ufs/dcomp/collina/service/estoque/PedidoService.java
Persistence
- JPA repositories
backend/src/main/java/br/ufs/dcomp/collina/repository/estoque - Inventory entities
backend/src/main/java/br/ufs/dcomp/collina/model/estoque - PostgreSQL
Other components
- Club user
Connections 20
- Club user → React app: uses
- React app → Routes: renders
- Routes → Route guard: protects routes
- Route guard → Auth state: checks identity
- Auth state → Firebase Auth: uses provider
- React app → API client: requests data
- API client → Category endpoints: calls API
- API client → Product endpoints: calls API
- API client → Stock endpoints: calls API
- API client → Order endpoints: calls API
- Category endpoints → Category rules: delegates to
backend/src/main/java/br/ufs/dcomp/collina/controller/estoque/CategoriaController.java - Product endpoints → Product rules: delegates to
backend/src/main/java/br/ufs/dcomp/collina/controller/estoque/ProdutoController.java - Stock endpoints → Stock operations: delegates to
backend/src/main/java/br/ufs/dcomp/collina/controller/estoque/EstoqueController.java - Order endpoints → Order & payment: delegates to
backend/src/main/java/br/ufs/dcomp/collina/controller/estoque/PedidoController.java - Category rules → JPA repositories: reads and writes
backend/src/main/java/br/ufs/dcomp/collina/service/estoque/CategoriaService.java - Product rules → JPA repositories: reads and writes
backend/src/main/java/br/ufs/dcomp/collina/service/estoque/ProdutoService.java - Stock operations → JPA repositories: updates stock
backend/src/main/java/br/ufs/dcomp/collina/service/estoque/EstoqueService.java - Order & payment → JPA repositories: manages orders
backend/src/main/java/br/ufs/dcomp/collina/service/estoque/PedidoService.java - JPA repositories → Inventory entities: persists
backend/src/main/java/br/ufs/dcomp/collina/repository/estoque/MovimentacaoEstoqueRepository.java - Inventory entities → PostgreSQL: maps tables