# vishh-t/flowos architecture

> Architecture diagram of the GitHub repository vishh-t/flowos, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/vishh-t/flowos
- Repository: https://github.com/vishh-t/flowos

## Overview

FlowOS appears to be a Java application centered on user authentication, task and profile domains, and schedule-candidate generation. The tree identifies an authentication controller and service, plus scheduler service, helper, model, and result types. No README or source excerpts were available, so the graph maps these product components but does not assert runtime calls, persistence wiring, or external integrations that the tree alone cannot establish.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_auth["Authentication"]
  node_auth_controller["Auth controller"]
  node_auth_service["Auth service<br/>[AuthService.java]"]
  node_refresh_service["Refresh tokens"]
  node_jwt["JWT security"]
end

subgraph group_domain["User and Tasks"]
  node_user_entity["User entity<br/>[User.java]"]
  node_user_repo["User repository<br/>[UserRepo.java]"]
  node_profile["Profile model<br/>[Profile.java]"]
  node_task["Task model<br/>[Task.java]"]
  node_task_repo["Task repository<br/>[TaskRepo.java]"]
end

subgraph group_schedule["Scheduling"]
  node_scheduler["Scheduler service"]
  node_candidate_helpers["Candidate helpers"]
  node_timeline["Weekly timeline"]
  node_candidate_result["Candidate results"]
end

node_client(("User"))

click node_auth_controller "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Auth/Controller/AuthController.java"
click node_auth_service "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Auth/Services/AuthService.java"
click node_refresh_service "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Auth/Services/RefreshTokenService.java"
click node_jwt "https://github.com/vishh-t/flowos/tree/main/src/main/java/org/example/flowos/Auth/Config"
click node_user_entity "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/User/Entity/User.java"
click node_user_repo "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/User/Repo/UserRepo.java"
click node_profile "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Profile/Profile.java"
click node_task "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Task/Entity/Task.java"
click node_task_repo "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Task/Repository/TaskRepo.java"
click node_scheduler "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Scheduler/Service/SchedulerService.java"
click node_candidate_helpers "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Scheduler/Helpers/GenerateCandidateHelperMethods.java"
click node_timeline "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Scheduler/Model/WeeklyTimeline.java"
click node_candidate_result "https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Scheduler/Service/DTOs/CandidateResult.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_auth_controller,node_auth_service,node_refresh_service,node_jwt,node_client toneBlue
class node_user_entity,node_user_repo,node_profile,node_task,node_task_repo toneAmber
class node_scheduler,node_candidate_helpers,node_timeline,node_candidate_result toneMint
```

## Components

### Authentication

- [Auth controller](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Auth/Controller/AuthController.java): `src/main/java/org/example/flowos/Auth/Controller/AuthController.java`
- [Auth service](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Auth/Services/AuthService.java): `src/main/java/org/example/flowos/Auth/Services/AuthService.java`
- [Refresh tokens](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Auth/Services/RefreshTokenService.java): `src/main/java/org/example/flowos/Auth/Services/RefreshTokenService.java`
- [JWT security](https://github.com/vishh-t/flowos/tree/main/src/main/java/org/example/flowos/Auth/Config): `src/main/java/org/example/flowos/Auth/Config`

### User and Tasks

- [User entity](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/User/Entity/User.java): `src/main/java/org/example/flowos/User/Entity/User.java`
- [User repository](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/User/Repo/UserRepo.java): `src/main/java/org/example/flowos/User/Repo/UserRepo.java`
- [Profile model](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Profile/Profile.java): `src/main/java/org/example/flowos/Profile/Profile.java`
- [Task model](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Task/Entity/Task.java): `src/main/java/org/example/flowos/Task/Entity/Task.java`
- [Task repository](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Task/Repository/TaskRepo.java): `src/main/java/org/example/flowos/Task/Repository/TaskRepo.java`

### Scheduling

- [Scheduler service](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Scheduler/Service/SchedulerService.java): `src/main/java/org/example/flowos/Scheduler/Service/SchedulerService.java`
- [Candidate helpers](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Scheduler/Helpers/GenerateCandidateHelperMethods.java): `src/main/java/org/example/flowos/Scheduler/Helpers/GenerateCandidateHelperMethods.java`
- [Weekly timeline](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Scheduler/Model/WeeklyTimeline.java): `src/main/java/org/example/flowos/Scheduler/Model/WeeklyTimeline.java`
- [Candidate results](https://github.com/vishh-t/flowos/blob/main/src/main/java/org/example/flowos/Scheduler/Service/DTOs/CandidateResult.java): `src/main/java/org/example/flowos/Scheduler/Service/DTOs/CandidateResult.java`

### Other components

- **User**
