timed revision
All checks were successful
Mindforge API Build and Deploy / Build Mindforge API Image (push) Successful in 3m58s
Mindforge API Build and Deploy / Deploy Mindforge API (internal) (push) Successful in 37s
Mindforge Web Build and Deploy (internal) / Build Mindforge Web Image (push) Successful in 5m19s
Mindforge Web Build and Deploy (internal) / Deploy Mindforge Web (internal) (push) Successful in 11s
All checks were successful
Mindforge API Build and Deploy / Build Mindforge API Image (push) Successful in 3m58s
Mindforge API Build and Deploy / Deploy Mindforge API (internal) (push) Successful in 37s
Mindforge Web Build and Deploy (internal) / Build Mindforge Web Image (push) Successful in 5m19s
Mindforge Web Build and Deploy (internal) / Deploy Mindforge Web (internal) (push) Successful in 11s
This commit is contained in:
@@ -337,7 +337,7 @@ Exemplos:
|
||||
|
||||
### Tabelas de Flashcard
|
||||
- `flashcard_libraries`: `id`, `file_path` (unico), `file_name`, `subject`, `difficulty`, `card_count`, `created_at`, `updated_at`.
|
||||
- `flashcards`: `id`, `library_id`, `front`, `back`, `position`, `created_at`.
|
||||
- `flashcards`: `id`, `library_id`, `front`, `back`, `position`, `correct_count`, `incorrect_count`, `created_at`.
|
||||
|
||||
### API de Flashcards (v1)
|
||||
- `POST /api/v1/flashcard/generate`
|
||||
@@ -350,6 +350,9 @@ Exemplos:
|
||||
- `POST /api/v1/flashcard/review-session`
|
||||
Request: `{ libraryIds: number[] }`
|
||||
Retorna os cards combinados para sessao de revisao (sem repeticao espaciada nesta fase).
|
||||
- `POST /api/v1/flashcard/review-answer`
|
||||
Request: `{ cardId: number, correct: boolean }`
|
||||
Registra no banco o resultado da revisao (`Acertei`/`Errei`) por card.
|
||||
|
||||
### Frontend
|
||||
- Modulo `Flashcards` atualizado para:
|
||||
@@ -360,9 +363,48 @@ Exemplos:
|
||||
- Novo modulo `Revisao Flashcards`:
|
||||
- lista bibliotecas agrupadas por materia (`subject`);
|
||||
- permite selecionar multiplas bibliotecas;
|
||||
- inicia sessao estilo Anki simplificada (frente, revelar verso, anterior/proximo, progresso visual).
|
||||
- embaralha aleatoriamente os cards ao iniciar a sessao de revisao;
|
||||
- inicia sessao estilo Anki simplificada (frente, revelar verso, acertei/errei, anterior, progresso visual).
|
||||
- ao gerar novamente uma biblioteca, os contadores `correct_count` e `incorrect_count` dos cards sao resetados para zero.
|
||||
|
||||
### Novas Configuracoes
|
||||
- `ConnectionStrings:MindforgeDb` para conexao PostgreSQL.
|
||||
- Fallback local/default:
|
||||
`Host=localhost;Port=3307;Database=mindforge;Username=root;Password=root`.
|
||||
|
||||
---
|
||||
|
||||
## Atualizacao - Revisao Espacada RAG (2026-06-01)
|
||||
|
||||
### Mudancas de Arquitetura
|
||||
- O dominio de flashcards agora guarda `last_reviewed_at` por card para permitir classificacao temporal.
|
||||
- O status RAG e calculado em tempo de leitura (nao e persistido), para evitar status defasado.
|
||||
- O agrupamento de dashboard usa `subject` + `subSubject`, onde `subSubject` vem dos segmentos do caminho apos a materia e antes do arquivo.
|
||||
|
||||
### Regras RAG por Card
|
||||
- `Grey`: card nunca revisado (`last_reviewed_at` nulo).
|
||||
- `Red`: revisado ha 40 dias ou mais **ou** desempenho `< 40%`.
|
||||
- `Amber`: revisado ha 30 dias ou mais **ou** desempenho `<= 60%`.
|
||||
- `Green`: revisado ha menos de 30 dias **e** desempenho `> 60%`.
|
||||
- Desempenho: `correct_count / (correct_count + incorrect_count)`.
|
||||
|
||||
### Banco e Repositorio
|
||||
- Tabela `flashcards` recebeu coluna `last_reviewed_at TIMESTAMPTZ NULL` (migracao idempotente no startup).
|
||||
- `POST /api/v1/flashcard/review-answer` agora atualiza `correct_count`/`incorrect_count` e define `last_reviewed_at = NOW()`.
|
||||
|
||||
### API de Flashcards (v1)
|
||||
- Novo endpoint `GET /api/v1/flashcard/rag-status`:
|
||||
- Retorna dashboard de revisao espacada com grupos por materia/submateria.
|
||||
- Inclui cards com `ragStatus`, `performanceRate`, `totalAnswers` e `lastReviewedAt`.
|
||||
- Inclui sumarios por materia/submateria com percentuais:
|
||||
- Verde = `green / (green + amber + red)`
|
||||
- Atencao = `(amber + red) / (green + amber + red)`
|
||||
- Cards cinza ficam fora do denominador.
|
||||
|
||||
### Frontend
|
||||
- Novo modulo `Revisao Espacada` abaixo de `Revisao Flashcards` na sidebar.
|
||||
- O painel mostra:
|
||||
- status agregados por materia e submateria;
|
||||
- filtros por status RAG (Vermelho, Amarelo, Verde, Cinza);
|
||||
- total de cards selecionados para revisao.
|
||||
- A sessao de revisao espacada reutiliza o fluxo de resposta (`Acertei`/`Errei`) e prioriza cards por status (Red, Amber, Green, Grey).
|
||||
|
||||
Reference in New Issue
Block a user