How clifftech123/task-management-microservices works
This is an ASP.NET Core project-management microservices system: users authenticate and receive JWTs, while project and task services own the corresponding domains; the gateway is the documented entry point. The sampled source confirms the user API-to-service flow and Aspire resource references. Project/task endpoints and the README-described gRPC, messaging, and logging implementations were not sampled, so those capabilities are shown only at the documented level.
Main entry points: task-management-microservices.AppHost/Program.cs Aspire host · ProjectService.API/Program.cs Project service · TaskService.API/Program.cs Task service · UserController.cs User API
Components 21
Entry and runtime
- YARP gateway
src/Gateway.API/Program.cs - Aspire host
src/task-management-microservices.AppHost/Program.cs
Identity
- User API
src/UserService.API/Controllers/UserController.cs - User service
src/UserService.API/Services/UserServices.cs - Identity and JWT setup
src/UserService.API/Extensions/AddApplicationService.cs - Token service
src/UserService.API/Services/TokenService.cs - Current user lookup
src/UserService.API/Services/CurrentUserService.cs - User data context
src/UserService.API/Infrastructure/Context/ApplicationDbContext.cs
Project and task domains
- Project service
src/ProjectService.API/Program.cs - Project and tags
src/ProjectService.API/Domain/Entities/Project.cs - Task service
src/TaskService.API/Program.cs - Task and tags
src/TaskService.API/Domain/Entities/Task.cs
Platform integrations
- User database
- Project database
- Task database
- RabbitMQ event bus
- Redis
- gRPC links
- Serilog and Seq
- Service defaults
src/task-management-microservices.ServiceDefaults/Extensions.cs
Other components
- API client
Connections 33
- API client → YARP gateway: sends requests
- YARP gateway → User API: routes requests
- YARP gateway → Project service: routes requests
- YARP gateway → Task service: routes requests
- User API → User service: calls
- User service → Identity and JWT setup: uses identity
- User service → Token service: generates tokens
- User service → Current user lookup: gets user ID
- User service → User data context: accesses users
- User data context → User database: reads and writes
- Project service → Project and tags: owns domain
- Task service → Task and tags: owns domain
- Aspire host → YARP gateway: starts
- Aspire host → User API: starts
- Aspire host → Project service: starts
- Aspire host → Task service: starts
- Aspire host → User database: provides resource
- Aspire host → Project database: provides resource
- Aspire host → Task database: provides resource
- Aspire host → RabbitMQ event bus: provides resource
- Aspire host → Redis: provides resource
- Aspire host → Service defaults: configures services
- Project service → RabbitMQ event bus: uses event bus
- Task service → RabbitMQ event bus: uses event bus
- User API → RabbitMQ event bus: uses event bus
- Project service → gRPC links: service communication
- Task service → gRPC links: service communication
- User API → gRPC links: service communication
- Project service → Redis: references cache
- Task service → Redis: references cache
- User API → Serilog and Seq: structured logging
- Project service → Serilog and Seq: structured logging
- Task service → Serilog and Seq: structured logging