How joaoptoaldo/cadernoatlas works
CadernoAtlas is a study-organization application with a React client and an ASP.NET Core API backed by EF Core/PostgreSQL. The main workflow is to manage academic demands and their tasks, record study availability, preview a deterministic weekly plan, then confirm it as study sessions. Separate capabilities cover session lifecycle, explainable demand prioritization, and contest-notice/caderno organization. The graph reflects documented capabilities; unsampled controller internals are represented at their existing directory paths, and links without direct evidence are omitted.
Main entry points: AppDbContext.cs EF Core database · apiClient.ts API client · PlanejamentoSemanalController.cs Weekly plan endpoints · App.tsx Study workspace
Components 24
Web client
- Study workspace
src/CadernoAtlas.Web/src/App.tsx - API client
src/CadernoAtlas.Web/src/apiClient.ts - Demand management
src/CadernoAtlas.Web/src/features/demands/ManageDemandsPanel.tsx - Demand tasks
src/CadernoAtlas.Web/src/features/demands/ManageDemandTasks.tsx - Study availability
src/CadernoAtlas.Web/src/features/availability/AvailabilityPanel.tsx - Planning workflow
src/CadernoAtlas.Web/src/features/planning/usePlanningWorkflow.ts - Session management
src/CadernoAtlas.Web/src/features/study-sessions/useStudySessionMutations.ts
API workflows
- Academic demands
src/CadernoAtlas.Api/Controllers/DemandasAcademicasController.cs - Demand tasks
src/CadernoAtlas.Api/Controllers/TarefasDemandaController.cs - Availability endpoints
src/CadernoAtlas.Api/Controllers/DisponibilidadesEstudoController.cs - Study sessions
src/CadernoAtlas.Api/Controllers/SessoesEstudoController.cs
Weekly planning
- Weekly plan endpoints
src/CadernoAtlas.Api/Controllers/PlanejamentoSemanalController.cs - Weekly allocator
src/CadernoAtlas.Api/Services/PlanejadorSemanal.cs - Proposal identity
src/CadernoAtlas.Api/Services/PlanejamentoSemanalPropostaIdService.cs - Plan data fingerprint
src/CadernoAtlas.Api/Services/PlanejamentoSemanalDadosFingerprintService.cs
Domain and persistence
- Demand prioritization
src/CadernoAtlas.Api/Services/PriorizadorDemandasAcademicas.cs - Study domain models
src/CadernoAtlas.Api/Models/DemandaAcademica.cs - Session lifecycle model
src/CadernoAtlas.Api/Models/SessaoEstudo.cs - EF Core database
src/CadernoAtlas.Api/Data/AppDbContext.cs
Contest study
- Contest and edital management
src/CadernoAtlas.Api/Controllers/ConcursosController.cs - Subjects and topic trees
src/CadernoAtlas.Api/Controllers/DisciplinasEditalController.cs - Topic management
src/CadernoAtlas.Api/Controllers/TopicosEditalController.cs - Study notebooks
src/CadernoAtlas.Api/Controllers/CadernosController.cs
Other components
- Student
Connections 25
- Student → Study workspace: uses
- Study workspace → API client: requests through
src/CadernoAtlas.Web/src/App.tsx - Study workspace → Planning workflow: shows preview
src/CadernoAtlas.Web/src/App.tsx - Demand management → API client: mutates via
src/CadernoAtlas.Web/src/features/demands/useDemandMutations.ts - Demand tasks → Demand management: renders in
src/CadernoAtlas.Web/src/features/demands/ManageDemandsPanel.tsx - Planning workflow → API client: requests through
src/CadernoAtlas.Web/src/features/planning/usePlanningWorkflow.ts - Session management → API client: requests through
src/CadernoAtlas.Web/src/features/study-sessions/useStudySessionMutations.ts - API client → Academic demands: calls API
- API client → Weekly plan endpoints: calls API
- API client → Study sessions: calls API
- Academic demands → Demand prioritization: prioritizes with
src/CadernoAtlas.Api/Controllers/DemandasAcademicasController.cs - Academic demands → EF Core database: queries and saves
src/CadernoAtlas.Api/Controllers/DemandasAcademicasController.cs - Demand tasks → EF Core database: queries and saves
src/CadernoAtlas.Api/Controllers/TarefasDemandaController.cs - Study sessions → EF Core database: queries and saves
src/CadernoAtlas.Api/Controllers/SessoesEstudoController.cs - Weekly plan endpoints → EF Core database: loads and persists
src/CadernoAtlas.Api/Controllers/PlanejamentoSemanalController.cs - Weekly plan endpoints → Weekly allocator: calculates with
src/CadernoAtlas.Api/Controllers/PlanejamentoSemanalController.cs - Weekly plan endpoints → Plan data fingerprint: checks snapshot
src/CadernoAtlas.Api/Controllers/PlanejamentoSemanalController.cs - Weekly plan endpoints → Proposal identity: identifies proposal
src/CadernoAtlas.Api/Controllers/PlanejamentoSemanalController.cs - Weekly allocator → Demand prioritization: orders activities
- Study domain models → EF Core database: mapped by
src/CadernoAtlas.Api/Data/AppDbContext.cs - Session lifecycle model → EF Core database: mapped by
src/CadernoAtlas.Api/Data/AppDbContext.cs - Contest and edital management → EF Core database: persists records
src/CadernoAtlas.Api/Controllers/ConcursosController.cs - Subjects and topic trees → EF Core database: persists subjects
src/CadernoAtlas.Api/Controllers/DisciplinasEditalController.cs - Topic management → EF Core database: persists topic tree
src/CadernoAtlas.Api/Controllers/TopicosEditalController.cs - Study notebooks → EF Core database: persists notebooks