How igornassa/taskq-back-end works
TaskQ is a REST backend for users, roles, projects and tasks, with task-completion XP and national-holiday lookup. The main workflow is an API request through a controller into domain services, which validate and persist changes; completing a task also invokes XP rewards. The README documents deadline handling, auditing and standardized errors as additional capabilities. Service-to-repository and controller-to-service links are supported by the source index; holiday integration is documented in the README. Some subsystems were not excerpted, so those links are limited to documented or indexed evidence.
Main entry points: TaskService.java Task lifecycle · UserService.java User management · repository Spring Data repositories · ProjectService.java Project lifecycle
Components 18
REST API
- Users API
src/main/java/uniamerica/tasksq_back_end/controller/UserController.java - Roles API
src/main/java/uniamerica/tasksq_back_end/controller/RoleController.java - Projects API
src/main/java/uniamerica/tasksq_back_end/controller/ProjectController.java - Tasks API
src/main/java/uniamerica/tasksq_back_end/controller/TaskController.java - Holidays API
src/main/java/uniamerica/tasksq_back_end/controller/HolidayController.java
Domain services
- User management
src/main/java/uniamerica/tasksq_back_end/service/UserService.java - Role management
src/main/java/uniamerica/tasksq_back_end/service/RoleService.java - Project lifecycle
src/main/java/uniamerica/tasksq_back_end/service/ProjectService.java - Task lifecycle
src/main/java/uniamerica/tasksq_back_end/service/TaskService.java - XP rewards
src/main/java/uniamerica/tasksq_back_end/service/XpService.java - Holiday lookup
src/main/java/uniamerica/tasksq_back_end/service/HolidayService.java - Task DTO mapping
src/main/java/uniamerica/tasksq_back_end/dto/mapper/TaskMapper.java
Domain model and persistence
- JPA domain entities
src/main/java/uniamerica/tasksq_back_end/entity - Spring Data repositories
src/main/java/uniamerica/tasksq_back_end/repository
Cross-cutting services
- Holiday provider client
src/main/java/uniamerica/tasksq_back_end/integration/HolidayAPI.java - Error responses
src/main/java/uniamerica/tasksq_back_end/exception/GlobalExceptionHandler.java - Entity auditing
src/main/java/uniamerica/tasksq_back_end/audit/AuditableEntity.java
Other components
- API client
Connections 23
- API client → Users API: calls
- API client → Roles API: calls
- API client → Projects API: calls
- API client → Tasks API: calls
- API client → Holidays API: calls
- Users API → User management: delegates to
src/main/java/uniamerica/tasksq_back_end/controller/UserController.java - Roles API → Role management: delegates to
src/main/java/uniamerica/tasksq_back_end/controller/RoleController.java - Projects API → Project lifecycle: delegates to
src/main/java/uniamerica/tasksq_back_end/controller/ProjectController.java - Tasks API → Task lifecycle: delegates to
src/main/java/uniamerica/tasksq_back_end/controller/TaskController.java - Holidays API → Holiday lookup: delegates to
src/main/java/uniamerica/tasksq_back_end/controller/HolidayController.java - User management → Spring Data repositories: reads and writes
src/main/java/uniamerica/tasksq_back_end/service/UserService.java - Role management → Spring Data repositories: reads and writes
src/main/java/uniamerica/tasksq_back_end/service/RoleService.java - Project lifecycle → Spring Data repositories: reads and writes
src/main/java/uniamerica/tasksq_back_end/service/ProjectService.java - Task lifecycle → Spring Data repositories: reads and writes
src/main/java/uniamerica/tasksq_back_end/service/TaskService.java - XP rewards → Spring Data repositories: records rewards
src/main/java/uniamerica/tasksq_back_end/service/XpService.java - Task lifecycle → Project lifecycle: resolves project
src/main/java/uniamerica/tasksq_back_end/service/TaskService.java - Task lifecycle → User management: resolves assignee
src/main/java/uniamerica/tasksq_back_end/service/TaskService.java - Task lifecycle → XP rewards: awards completion XP
src/main/java/uniamerica/tasksq_back_end/service/TaskService.java - User management → Task DTO mapping: maps task DTOs
- Task lifecycle → Task DTO mapping: maps requests
src/main/java/uniamerica/tasksq_back_end/service/TaskService.java - Holiday lookup → Holiday provider client: queries
src/main/java/uniamerica/tasksq_back_end/service/HolidayService.java - JPA domain entities → Entity auditing: inherits timestamps
src/main/java/uniamerica/tasksq_back_end/entity/Task.java - User management → Error responses: raises API errors