How ferdinaldopelembe/tasks-api works
Fasks is a Spring Boot REST API for personal task management. Its principal workflow is: clients register or log in, receive a JWT, then use authenticated task endpoints to create, list, filter, and update their own tasks; users can also manage their profile or account. Controllers delegate to services, which apply ownership and validation rules and use Spring Data repositories for persistence. The README documents local file-backed H2 storage and interactive API documentation. Some subsystems are represented from README or the source index; their internal implementation details were not sampled.
Main entry points: UserRepository.java User Repository · AuthController.java Auth Endpoints · TaskController.java Task Endpoints · UserController.java User Endpoints
Components 21
HTTP API
- Spring Boot Entry
src/main/java/org/ferdinaldopelembe/fasks/FasksApplication.java - Auth Endpoints
src/main/java/org/ferdinaldopelembe/fasks/controllers/AuthController.java - Task Endpoints
src/main/java/org/ferdinaldopelembe/fasks/controllers/TaskController.java - User Endpoints
src/main/java/org/ferdinaldopelembe/fasks/controllers/UserController.java - Request And Response DTOs
src/main/java/org/ferdinaldopelembe/fasks/dtos
Account And Tasks
- Account Auth
src/main/java/org/ferdinaldopelembe/fasks/services/AuthService.java - Task Operations
src/main/java/org/ferdinaldopelembe/fasks/services/TaskService.java - Profile Operations
src/main/java/org/ferdinaldopelembe/fasks/services/UserService.java - Task Entity
src/main/java/org/ferdinaldopelembe/fasks/models/Task.java - User Entity
src/main/java/org/ferdinaldopelembe/fasks/models/User.java - Priority And Status
src/main/java/org/ferdinaldopelembe/fasks/enums
Authentication
- Security Rules
src/main/java/org/ferdinaldopelembe/fasks/security/config/SecurityConfig.java - JWT Request Filter
src/main/java/org/ferdinaldopelembe/fasks/security/jwt/JwtFilter.java - JWT Utilities
src/main/java/org/ferdinaldopelembe/fasks/security/jwt/JwtUtil.java
Persistence And Docs
- Task Repository
src/main/java/org/ferdinaldopelembe/fasks/repositories/TaskRepository.java - User Repository
src/main/java/org/ferdinaldopelembe/fasks/repositories/UserRepository.java - H2 Configuration
src/main/resources/application.properties - H2 File Database
data/fasksdb.mv.db - Interactive API Docs
src/main/java/org/ferdinaldopelembe/fasks/docs/OpenApiConfig.java - Docs Web Page
src/main/resources/static/docs.html
Other components
- API Client
Connections 23
- API Client → Auth Endpoints: registers or logs in
README.md - API Client → Task Endpoints: manages own tasks
README.md - API Client → User Endpoints: manages account
README.md - Auth Endpoints → Account Auth: delegates to
src/main/java/org/ferdinaldopelembe/fasks/controllers/AuthController.java - Task Endpoints → Task Operations: delegates to
src/main/java/org/ferdinaldopelembe/fasks/controllers/TaskController.java - User Endpoints → Profile Operations: delegates to
src/main/java/org/ferdinaldopelembe/fasks/controllers/UserController.java - Auth Endpoints → Request And Response DTOs: uses payloads
src/main/java/org/ferdinaldopelembe/fasks/controllers/AuthController.java - Task Endpoints → Request And Response DTOs: uses payloads
src/main/java/org/ferdinaldopelembe/fasks/controllers/TaskController.java - User Endpoints → Request And Response DTOs: uses payloads
src/main/java/org/ferdinaldopelembe/fasks/controllers/UserController.java - Account Auth → User Repository: checks and saves
src/main/java/org/ferdinaldopelembe/fasks/services/AuthService.java - Account Auth → JWT Utilities: generates token
src/main/java/org/ferdinaldopelembe/fasks/services/AuthService.java - Task Operations → Task Repository: queries and saves
src/main/java/org/ferdinaldopelembe/fasks/services/TaskService.java - Profile Operations → User Repository: updates and deletes
src/main/java/org/ferdinaldopelembe/fasks/services/UserService.java - Task Operations → Priority And Status: validates filters
src/main/java/org/ferdinaldopelembe/fasks/services/TaskService.java - Task Repository → Task Entity: persists entity
src/main/java/org/ferdinaldopelembe/fasks/repositories/TaskRepository.java - User Repository → User Entity: persists entity
src/main/java/org/ferdinaldopelembe/fasks/repositories/UserRepository.java - Security Rules → JWT Request Filter: registers filter
src/main/java/org/ferdinaldopelembe/fasks/security/config/SecurityConfig.java - JWT Request Filter → JWT Utilities: validates token
src/main/java/org/ferdinaldopelembe/fasks/security/jwt/JwtFilter.java - JWT Request Filter → User Repository: loads identity
src/main/java/org/ferdinaldopelembe/fasks/security/jwt/JwtFilter.java - Spring Boot Entry → H2 Configuration: loads settings
- H2 Configuration → H2 File Database: configures file store
README.md - Interactive API Docs → API Client: documents API
README.md - Docs Web Page → Interactive API Docs: presents docs