Dev#285
Merged
Merged
Conversation
…_estudo, materiais_estudo e tarefas_disciplina
Remove variável não utilizada, underscores duplicados desnecessários e substitui withOpacity (deprecado) por withValues(alpha:).
O Flutter trata --fatal-infos como on por padrao, entao avisos de estilo (ex: deprecated_member_use, unnecessary_underscores) quebravam o CI da mesma forma que erros reais. Agora so erros e warnings continuam bloqueando o pipeline.
Remove a variavel 'cores' nao utilizada em login_screen.dart, que quebrava o flutter analyze com warning unused_local_variable. Tambem adiciona --no-fatal-infos ao step de analyze no workflow, ja que essa versao do Flutter trata issues de nivel info como fatais por padrao.
Alinha o pull_request/push do ci.yml ao mesmo padrao usado em Samuel#234, para que todas as branches do repositorio rodem o CI com a mesma configuracao.
Alinha o ci.yml ao mesmo padrao usado nas demais branches: nao falhar o flutter analyze por issues de nivel info, e usar o mesmo gatilho de pull_request/push em todo o repositorio.
Traz o pipeline de testes do Django e do Flutter, ja com --no-fatal-infos no flutter analyze, para manter consistencia com as demais branches do repositorio.
Traz o pipeline de testes do Django e do Flutter, ja com --no-fatal-infos no flutter analyze, para manter consistencia com as demais branches do repositorio.
Traz o pipeline de testes do Django e do Flutter, ja com --no-fatal-infos no flutter analyze, para manter consistencia com as demais branches do repositorio.
Feature/consistencia
Samuel#234
ci: adiciona workflow de CI/CD (testes backend e frontend)
ci: adiciona workflow de CI/CD (testes backend e frontend)
ci: adiciona workflow de CI/CD (testes backend e frontend)
Vinicius#225
api_service.dart e auth_service.dart usavam _baseUrl hardcoded para localhost:8000, o que quebraria em produção. Passam a usar kBaseUrl, já parametrizável via --dart-define=FOCUS_API_BASE_URL.
- SECRET_KEY, DEBUG e ALLOWED_HOSTS passam a vir de env vars - CORS restrito a FRONTEND_URL quando definida (mantem liberado em dev) - Banco configurado via DATABASE_URL (dj-database-url), com fallback para o SQLite local - WhiteNoise para servir estaticos do admin - requirements.txt limpo (estava com o freeze de todo o ambiente local, incluindo pacotes nao usados pelo projeto) e com gunicorn, whitenoise, dj-database-url e psycopg2-binary adicionados - build.sh com os passos de build usados no Render
- ci.yml passa a rodar tambem em push para dev, com um job novo que builda o Flutter Web e publica no GitHub Pages apos os testes passarem (branch dev apenas) - render.yaml define o web service Django + Postgres gratuitos no Render, com auto-deploy nativo pela branch dev (sem precisar de deploy hook)
Samuel#263
O nome "focus-api" ja estava em uso, o Render criou o servico como focus-api-hqbc.onrender.com. Isso causava 400 Bad Request (DisallowedHost) em todas as requisicoes.
fix(deploy): corrige ALLOWED_HOSTS para o host real do Render
O job backend-tests instalava so Django/DRF/cors-headers na mao, mas settings.py agora depende de dj-database-url e whitenoise (usados em producao). Isso quebrava o "python manage.py test" com ModuleNotFoundError. Passa a instalar via requirements.txt para nao duplicar a lista de dependencias.
fix(ci): instala backend/requirements.txt no job de testes
Nova app `insights` que calcula os insights de perfil de estudo a partir
dos dados ja coletados (SessaoEstudo, BlocoPomodoro, TarefaDisciplina,
EventoAcademico), antes 100% mock no frontend.
- services.py: InsightsService com 12 insights (melhor_horario,
melhor_dia_semana, duracao_ideal, foco_sem_interrupcoes,
vies_estimativa, tarefas_no_prazo, taxa_furo, sequencia_produtiva,
cramming, ritmo_disciplina, progresso, equilibrio_metodo) + gate de N
minimo e fallback amostra_insuficiente. Produtividade da sessao =
media dos blocos pomodoro.
- statistics.py: Pearson/Spearman e regressao quadratica em Python puro
(sem numpy/scipy, mantendo o requirements.txt enxuto). Sem ML/LLM.
- models.py: InsightFeedback + personalizacao deterministica (rebaixa/
oculta insight marcado como nao util).
- endpoints: GET /api/insights/, GET /api/insights/evolucao/,
POST /api/insights/{id}/feedback/.
- tests.py: 16 testes cobrindo cada insight, o gate de N, o feedback e
os endpoints.
- README documenta o pendente: Fase 4 (origem/efeito_acao/jornada) e
Fase 5 (sono/tela, fora de escopo).
Refs #267
fetchInsights/fetchDashboard/submitFeedback passam a consumir
GET /api/insights/, GET /api/insights/evolucao/ e
POST /api/insights/{id}/feedback/. Cliente http injetavel para preservar
o construtor const usado pela tela e pelos testes de widget.
fetchJourney retorna vazio ate a Fase 4 do backend (origem da
recomendacao). Teste do service atualizado com MockClient.
Refs #267
Samuel#267
Vinicius#226 Implementação completa da funcionalidade do Blobo de notas. Front end Implementado. Backend implmentado . Testes TDD também feitos!!
Revert "Vinicius#226"
doc:atualizando a documentação e release.refs#226
O SingleChildScrollView(reverse: true) combinado com .reversed.toList() na Column invertia a ordem visual dos elementos. Removidos ambos para manter a ordem natural (logo, titulo, campos, botao). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…or direito Remove o botao "+" do cabecalho e usa um FloatingActionButton, padrao mais intuitivo em telas de celular. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A action `dashboard` tinha prints de debug com emoji. No console cp1252 do Windows, o print lancava UnicodeEncodeError e a requisicao retornava HTTP 500, fazendo a aba Consistencia exibir "Nao foi possivel carregar". Prints removidos. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…onsiva - Nova tela DisciplinasScreen: listar, criar, editar e excluir disciplinas (backend ja expunha CRUD via ModelViewSet). As disciplinas ficam disponiveis em todo o app (Pomodoro, Evento Academico, etc.) pois tudo le de /api/disciplinas/. - DisciplinaService ganha atualizarDisciplina (PATCH) e excluirDisciplina (DELETE). - CriarDisciplinaDialog passa a suportar criacao e edicao. - Disciplinas ligada na navegacao (enum, IndexedStack, sidebar e bottom nav). - Bottom nav reescrita como widget proprio: com 7 itens a NavigationBar do Material quebrava os rotulos no meio da palavra em telas estreitas (320-425px). Agora cada rotulo usa FittedBox e cabe sempre em uma linha. Rotulos do mobile encurtados (Tarefas, Materias, Ritmo). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Isola a feature de sessão de notas sobre a dev, sem arrastar o trabalho de insights/consistência que havia sido mesclado na branch original (vinicius#226-227) e ainda não está na dev. Notas são persistidas reusando o endpoint /api/materiais-estudo/: cada nota é um MaterialEstudo com prefixo [NOTA] no título e as seções serializadas em JSON no campo descrição. O provider de materiais passa a filtrar essas entradas para não exibi-las na tela de materiais. Inclui model, provider, service, tela e testes automatizados, além do wiring de navegação (AppPage.notas, sidebar, bottom nav e home). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adiciona a secao 1.1.0 ao release.md (Insights, Pomodoro, Notas de estudo, aba de Disciplinas, Biblioteca de materiais, consistencia com dados reais e correcoes de login/consistencia no Windows) e sobe a versao do app para 1.1.0+2. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts: # .github/workflows/ci.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.