How shivankkapoor/standbase-backend works
Standbase is a REST backend for a personal standup journal. Clients authenticate through a two-step password/TOTP flow delegated to Aldrop; authenticated requests validate the device-bound session before journal and todo operations. The main domain branches are daily entries, ordered per-date todos, and yearly word-count heatmaps, with health/monitor endpoints alongside them. The graph reflects documented features and sampled controller/service/repository calls; several controller and integration details are documented but not excerpted, so those edges are omitted where call ownership cannot be verified.
Main entry points: AuthService.java Auth orchestration · AuthController.java Auth endpoints · EntryRepository.java Entry queries · SessionAuthFilter.java Session validation filter
Components 23
Access and security
- Auth endpoints
src/main/java/com/shivankkapoor/standbase/controller/AuthController.java - Client IP
src/main/java/com/shivankkapoor/standbase/service/IpService.java - Auth orchestration
src/main/java/com/shivankkapoor/standbase/service/AuthService.java - Session validation filter
src/main/java/com/shivankkapoor/standbase/filter/SessionAuthFilter.java - User records
src/main/java/com/shivankkapoor/standbase/repository/UserRepository.java - PostgreSQL users
src/main/java/com/shivankkapoor/standbase/model/User.java
Journal and analytics
- Entry endpoints
src/main/java/com/shivankkapoor/standbase/controller/EntryController.java - Entry operations
src/main/java/com/shivankkapoor/standbase/service/EntryService.java - Entry queries
src/main/java/com/shivankkapoor/standbase/repository/EntryRepository.java - PostgreSQL entries
src/main/java/com/shivankkapoor/standbase/model/Entry.java - Heatmap endpoint
src/main/java/com/shivankkapoor/standbase/controller/HeatMapController.java - Word-count analytics
src/main/java/com/shivankkapoor/standbase/service/HeatMapService.java
Todo management
- Todo endpoints
src/main/java/com/shivankkapoor/standbase/controller/TodoController.java - Todo operations
src/main/java/com/shivankkapoor/standbase/service/TodoService.java - Todo queries
src/main/java/com/shivankkapoor/standbase/repository/TodoRepository.java - PostgreSQL todos
src/main/java/com/shivankkapoor/standbase/model/Todo.java
Platform services
- Discord alerts
src/main/java/com/shivankkapoor/standbase/service/DiscordService.java - Health and monitor
src/main/java/com/shivankkapoor/standbase/controller/MainController.java - Health checks
src/main/java/com/shivankkapoor/standbase/service/HealthService.java - Database probe
src/main/java/com/shivankkapoor/standbase/repository/HealthRepository.java
Other components
- API client
- Aldrop auth
- PostgreSQL
Connections 26
- API client → Auth endpoints: requests login
src/main/java/com/shivankkapoor/standbase/controller/AuthController.java - Auth endpoints → Client IP: resolves IP
src/main/java/com/shivankkapoor/standbase/controller/AuthController.java - Auth endpoints → Auth orchestration: delegates login
src/main/java/com/shivankkapoor/standbase/controller/AuthController.java - Auth orchestration → Aldrop auth: forwards auth
src/main/java/com/shivankkapoor/standbase/service/AuthService.java - Auth orchestration → User records: provisions users
src/main/java/com/shivankkapoor/standbase/service/AuthService.java - User records → PostgreSQL users: reads and writes
src/main/java/com/shivankkapoor/standbase/repository/UserRepository.java - Auth orchestration → Discord alerts: sends auth alerts
src/main/java/com/shivankkapoor/standbase/service/AuthService.java - API client → Session validation filter: sends protected request
README.md - Session validation filter → Auth orchestration: validates token
src/main/java/com/shivankkapoor/standbase/filter/SessionAuthFilter.java - API client → Entry endpoints: requests entries
src/main/java/com/shivankkapoor/standbase/controller/EntryController.java - Entry endpoints → Entry operations: delegates entry work
src/main/java/com/shivankkapoor/standbase/controller/EntryController.java - Entry operations → Entry queries: queries and saves
src/main/java/com/shivankkapoor/standbase/service/EntryService.java - Entry queries → PostgreSQL entries: persists entries
src/main/java/com/shivankkapoor/standbase/repository/EntryRepository.java - PostgreSQL entries → PostgreSQL: stored in
README.md - API client → Heatmap endpoint: requests heatmap
src/main/java/com/shivankkapoor/standbase/controller/HeatMapController.java - Heatmap endpoint → Word-count analytics: delegates analytics
src/main/java/com/shivankkapoor/standbase/controller/HeatMapController.java - Word-count analytics → Entry queries: reads word counts
src/main/java/com/shivankkapoor/standbase/service/HeatMapService.java - API client → Todo endpoints: requests todos
src/main/java/com/shivankkapoor/standbase/controller/TodoController.java - Todo endpoints → Todo operations: delegates todo work
src/main/java/com/shivankkapoor/standbase/controller/TodoController.java - Todo operations → Todo queries: queries and saves
src/main/java/com/shivankkapoor/standbase/service/TodoService.java - Todo queries → PostgreSQL todos: persists todos
src/main/java/com/shivankkapoor/standbase/repository/TodoRepository.java - PostgreSQL todos → PostgreSQL: stored in
README.md - API client → Health and monitor: requests status
src/main/java/com/shivankkapoor/standbase/controller/MainController.java - Health and monitor → Health checks: delegates health checks
src/main/java/com/shivankkapoor/standbase/controller/MainController.java - Health checks → Database probe: checks database
src/main/java/com/shivankkapoor/standbase/service/HealthService.java - Database probe → PostgreSQL: probes
README.md