Autosave e modais (11/10/2026): o status da tarefa salva ao mudar o seletor; Serviços públicos mostra os equipamentos ativos. Formulários de banners, equipamentos e materiais, além das confirmações de ações, abrem em modais, preservando validação, permissões e uso sem JavaScript. Consulte comportamento e verificação.
O negócio está consolidado em inovalab_app, com pacotes internos para agenda, catálogo, materiais, tarefas, conteúdo e suporte compartilhado. Accounts continua no hospedeiro e mantém a autenticação atual. Consulte a arquitetura e os procedimentos de instalação/atualização.
Atualização de 08/10/2026: cada solicitação define seu serviço com título, descrição e prazo; tarefas exigem agendamento de serviço e responsável, herdam o prazo do serviço e possuem recursos opcionais. O select mostra todos os status e permite aos administradores escolher qualquer um. Equipamentos ficam somente na Infraestrutura, com exclusão lógica; a sidebar desktop permanece expandida. Consulte o novo fluxo, contratos e migração.
Tarefas com equipe e recursos: selecione vários responsáveis e equipamentos; adicione materiais com quantidade gasta por item. Todos os responsáveis compartilham a tarefa, respeitando as permissões atuais. Consulte uso, API e migração dos múltiplos vínculos.
Banco existente: pausar escrita e fazer backup. Bancos ainda não consolidados devem cumprir a preparação da versão anterior e adotar até 0002_preserva_contenttypes com --fake-initial. Depois executar 0003, aplicar um mapa explícito das tarefas para agendamentos e concluir migrate. A partir de 0009, instalações vazias recebem automaticamente os seis equipamentos padrão ao executar migrate. seed_inovalab continua disponível como carga idempotente que preserva edições e exclusões. As instruções históricas abaixo não substituem esse procedimento.
Atualização de 11/10/2026: tarefas exibem tempo persistido em Criação, o quadro limita conclusões aos últimos sete dias e /tarefas/lista/ permite consultar todas com filtros de período. A infraestrutura pública usa os equipamentos ativos do banco, com fotos WebP persistidas, restauração confirmada dos padrões e exclusão também pela edição. Consulte regras, migrações e verificação.
A agenda utiliza AgendaServico e AgendaVisita, ambas locais. AgendaEquipamento permanece para consulta/cancelamento do legado. Solicitações inclui confirmadas. Ver agenda de visitas local e alterações de serviços.
Atualização de 07/10/2026: o modelo e cadastro de Espaços foram removidos, incluindo telas e API. O catálogo mantém Serviços e Equipamentos; na separação das agendas, reservas antigas de espaço são preservadas em exportação privada. Ver histórico da remoção de espaços e preservação do legado da agenda.
Sistema Django para demandas do laboratório, tarefas, agenda, materiais e banners, com frontend básico e API para futuras integrações.
O deploy no projeto inovalab-test usa o preset Django da Vercel e executa as migrações do Neon no build de cada push. O banco Neon dedicado e as variáveis de Production/Preview já estão configurados. Consulte o guia de deploy, segurança, ambientes e limitações de uploads.
Os módulos disponíveis são Identidade e acesso, Catálogo, Tarefas, Agenda, Materiais e Conteúdo/Banners. Banners oferece gestão administrativa, upload WebP, publicação por local/período e consulta pública por páginas/API. O módulo de recebimento por integradores foi removido em 07/10/2026. Remoção e atualização dos bancos.
| Arquivo | Conteúdo |
|---|---|
| 01 — Escopo e requisitos | Fontes, requisitos, permissões, perguntas e decisões |
| 02 — Casos de uso | Fluxos internos e integração AgroHub |
| 03 — Cenários e rastreabilidade | Critérios para testes futuros e vínculo com requisitos |
| 04 — Diretrizes Django | Modelagem, autorização, integridade e concorrência |
| 05 — Revisão e arquitetura | Telas, diagnóstico, alternativas, API proposta e etapas |
| 06 — Conferência do PDF | Comparação por página, cobertura dos requisitos e distinção entre PDF, decisões e propostas |
| Módulo 1 — Identidade e acesso | Instalação, contas, contrato da API e roteiro para depuração |
| Módulo 2 — Catálogo | Cadastros, carga inicial, endpoints e testes para aprofundar |
| Módulo 3 — Tarefas | Quadro, permissões, fluxo de avaliação, histórico, API e depuração |
| Módulo 4 — Agenda | Calendário, exclusividade, cancelamento, concorrência, API e depuração |
| Módulo 6 — Materiais | Cadastro, quantidade decimal, versão, API e depuração |
| Módulo 7 — Conteúdo | Banners WebP, publicação, imagem protegida, API e depuração |
| Frontend — Base e Dashboard | Primeira entrega visual pelas referências e roteiro de depuração |
| Frontend — Páginas e Usuários | Telas dos módulos, login raiz/index, contas protegidas, capturas e roteiro de depuração |
Leia as classificações C (confirmado pela fonte), D (derivado) e P (proposta) no arquivo 01. Propostas não são decisões aprovadas. As seis telas e as três páginas de Referencias/InovaLab - Modelagem.pdf foram examinadas. A pasta permanece ignorada pelo Git e pode faltar em outro clone.
- Django com frontend básico e endpoints para futuras integrações.
- Somente administradores aprovam, recusam e reabrem tarefas; o responsável executa e envia para avaliação.
- Cada reserva do MVP tem um único serviço, equipamento ou espaço, sem bloquear automaticamente recursos associados.
- Uma reserva por objeto/horário nas três categorias; exclusividade dos serviços confirmada em 02/10/2026.
- Contas internas cadastradas pelo administrador técnico, com login por usuário e senha.
- Administradores do laboratório mantêm o catálogo; todos os usuários internos ativos consultam.
- Materiais: cadastro simples mantido pelos administradores, consulta interna ativa, quantidade não negativa até 3 casas/unidade informada, categoria/fonte livres, status disponível/indisponível; sem movimentações.
- Em 05/10/2026, iniciar frontend pelas imagens de referência, em entregas fracionadas, com funcionalidades atuais e áreas das logos vazias para inclusão futura pelo responsável. Login e página de identidade preservados. Testes automatizados e básicos no navegador executados; testes profundos pelo responsável.
O sistema usa Django, templates e Django REST Framework, com política de papéis compartilhada entre interface e API. SQLite atende à execução local, com escrita/bloqueio do alvo antes de consultar conflitos da agenda. DATABASE_URL seleciona PostgreSQL; a Vercel exige banco Neon configurado e não utiliza SQLite.
Em 05/10/2026, a entrega foi verificada com Python 3.14.3, Django 6.1.1, DRF 3.18.1 e Pillow 12.3.0 para validar WebP. As dependências diretas estão em requirements.txt. A colisão do app local auth foi corrigida com accounts; a autenticação nativa do Django foi preservada.
Execução em PowerShell (crie venv com python -m venv venv se necessário):
& .\venv\Scripts\python.exe -m pip install -r requirements.txt
if (-not (Test-Path .env)) { Copy-Item .env.example .env }
& .\venv\Scripts\python.exe manage.py migrate
& .\venv\Scripts\python.exe manage.py createsuperuser
& .\venv\Scripts\python.exe manage.py runserverAntes das migrações, configure DJANGO_SECRET_KEY no .env com uma chave
aleatória local. Mantenha DJANGO_DEBUG=true e DATABASE_URL vazio para usar
SQLite no desenvolvimento. O python-dotenv, incluído nas dependências,
carrega esse arquivo automaticamente; o .env está ignorado pelo Git.
Copie o exemplo somente se ainda não houver um .env, para preservar sua configuração.
Abra o login local, entre com o superusuário e use Administrar contas no perfil para abrir /usuarios/. Configurar usuários abre a manutenção técnica no Django Admin. Não há credenciais padrão. O grupo Administradores identifica o papel de negócio e não concede gestão técnica de contas.
Verificação automatizada:
& .\venv\Scripts\python.exe manage.py test
& .\venv\Scripts\python.exe manage.py check
& .\venv\Scripts\python.exe manage.py makemigrations --check --dry-run
& .\venv\Scripts\python.exe -m pip check309 testes passaram na entrega do frontend de 05/10/2026 (27 acrescentados, além dos 282 anteriores); checks, migrações e dependências sem pendências. Chrome: 45 rotas renderizadas, 155 combinações de layout/papel/menu, cadastro de material, execução/envio de tarefa, restrições de acesso e teclado. A revisão final teve duas correções, verificadas por testes de regressão: retorno circular ao login e intervalo de reservas de vários dias. Consulte os guias dos módulos para contratos, limitações e roteiros, inclusive os ajustes menores conhecidos de banners e horário de verão histórico da agenda. A configuração de deploy de 06/10/2026 passa a carregar .env.local e .env automaticamente apenas em execução local. As variáveis do processo prevalecem.
O início institucional fica em /, com Sobre em /sobre/, Serviços em /servicos/ e Contato em /contato/. O login fica em /entrar/ e redireciona por padrão para /index/; /painel/ permanece como alias do Dashboard e o perfil fica em /perfil/. Páginas institucionais, contato pela API e verificações. Administrar contas abre a página Usuários, protegida para superusuários ativos. Todas as telas dos módulos usam a apresentação baseada nos PNGs locais; o Figma recusou acesso ao arquivo na conta conectada e o responsável autorizou esse fallback. Logos vazias conforme solicitado. Guia, capturas, limitações e depuração do frontend.
Após entrar, use Catálogo ou abra /catalogo/servicos/. A migração cria os onze serviços do PDF; manage.py carregar_servicos_iniciais repete a carga preservando alterações. APIs disponíveis: /api/v1/servicos/, /api/v1/equipamentos/, /api/v1/espacos/, com detalhes por ID. Indisponibilização preserva registros; exclusão física não é oferecida.
Use Tarefas ou abra /tarefas/. Administradores criam demandas e avaliam entregas; cada responsável vê somente suas tarefas e pode iniciar/enviar. /api/v1/tarefas/ oferece consulta e administração; /{id}/transicoes/ controla o fluxo e /{id}/historico/ registra alterações. Escritas em tarefas existentes exigem versao; exclusão é lógica. Datas e demais escolhas do MVP estão no guia do módulo 3.
Administradores usam Agenda ou /agenda/. API: /api/v1/agendamentos/, detalhes e /{id}/historico/. Escritas existentes exigem versao; sobreposição/versão antiga retornam 409. Cancelamento preserva o histórico e libera o horário. O guia da agenda registra regras provisórias e a limitação conhecida em intervalos históricos na transição de horário de verão de 2019.
Use Materiais ou /materiais/ para consultar; administradores cadastram/corrigem. API interna por sessão/CSRF: /api/v1/materiais/, com detalhes por ID e versão obrigatória em PUT/PATCH. Quantidade decimal é devolvida como string com 3 casas; versão antiga retorna 409. Contrato e roteiro.
Administradores usam Banners ou /banners/. API interna por sessão/CSRF: /api/v1/banners/, versão em edição/exclusão e upload multipart WebP. Visitantes consultam /publico/, /publico/sobre/ ou /api/v1/publico/banners/?local=home|sobre; imagens passam por /banners/{id}/imagem/, sem acesso direto ao diretório media/. Contrato, escolhas provisórias e retenção. Administração exclusiva, leitura pública, vários banners ordenados e período obrigatório são escolhas iniciais para Q10/Q12/Q15, ainda sujeitas à validação do responsável.
Os padrões visuais compartilhados centralizam Montserrat, tipografia, margens, gaps e arredondamentos em core/static/core/ui.css. Banners usa o mesmo alinhamento dos módulos; filtros, contadores e componentes equivalentes seguem a mesma escala. A revisão do Dashboard incluiu 1201 px com menu expandido. O guia registra comandos, resultados, capturas e a verificação reutilizável no navegador.
A entrega de usuário e horários do agendamento remove o requerente livre e usa o usuário que cadastrou a reserva. O formulário escolhe um dia, hora de início e hora de término; períodos antigos e histórico são preservados. A API interna não aceita mais requerente. Execute python manage.py migrate ao atualizar outro ambiente; a migração local já foi aplicada. Validação: 424 testes Django aprovados e verificações básicas no Chrome.
A entrega de atualizações sem recarregar aplica filtros, abas, paginação e troca de categoria da agenda por requisições assíncronas, preservando foco e rascunhos. Foram aprovados 355 testes Django e verificações no Chrome em desktop e celular, incluindo respostas atrasadas e falha de conexão. Sem migrações nesta entrega.
A entrega de seleção de espaços e material acrescenta cartões de espaços conforme a referência e um select para identificar o material utilizado nos serviços. Foram aprovados 355 testes Django e verificações no Chrome em desktop e celular. A migração local já foi aplicada; execute python manage.py migrate ao atualizar outro ambiente.
A entrega de agendamentos por categoria acrescenta seleção opcional de máquinas e material próprio/gasto em gramas ao formulário de serviço, além da foto/nome do criador e do destaque de categoria no detalhe. Foram aprovados 345 testes Django e verificações básicas no Chrome. Execute python manage.py migrate ao atualizar; as migrações locais já foram aplicadas.
A revisão seguinte adiciona ativação/desativação de banners na coluna Ações, substitui Filtrar pelo rótulo Filtros e remove Atualizar opções da agenda. Validação: 329 testes Django aprovados e verificações básicas no Chrome; nenhuma migração nova.
Em 06/10/2026, filtros e atualização de opções passaram a ter aplicação automática, preservando as ações explícitas de salvar. A carga inicial inclui seis máquinas e nove espaços das imagens fornecidas, com Secretaria, Laboratório maker e Laboratório de robótica reserváveis somente por administradores. Execute python manage.py migrate ao atualizar; no ambiente local as migrações já foram aplicadas. Validação desta entrega: 323 testes Django aprovados e verificações básicas no Chrome.
Revisar requisitos e decisões de cada etapa, validar seu desenho, preparar o plano, implementar o fluxo web/API e verificar cenários relevantes. A coleção de skills Superpowers foi instalada neste ambiente do Codex; não é dependência da aplicação e não acompanha um clone do projeto.
Por decisão do responsável, entregar um módulo por vez e aguardar sua depuração antes do próximo. Identidade e catálogo seguem suas especificações e planos autorizados. Tarefas, agenda, materiais e conteúdo seguem execução direta com planos simples (tarefas, agenda, materiais, conteúdo), mantendo testes e revisão independente. Após base e Dashboard, a solicitação de todas as páginas reúne as telas restantes no plano do frontend completo. Escolhas para lacunas dos requisitos estão identificadas nos guias. Aguardar depuração desta entrega visual antes de iniciar outra etapa.
Para as próximas entregas visuais, seguir as referências com as funcionalidades atuais. A logo do InovaLab fornecida em Referencias/logo.png está incorporada; logos institucionais restantes aguardam os arquivos do responsável. A sidebar guarda a preferência de aberto/fechado no navegador, e Páginas mantém a estrutura interna após login. Veja ajustes da sidebar, calendário e logo. Executar os testes automatizados do Django e os testes básicos no navegador; o responsável realizará os testes mais profundos posteriormente. Essas orientações estão em AGENTS.md.
O perfil permite editar login, nome, sobrenome e foto da própria conta. A logo de texto branco é usada nos fundos azuis. Veja entrega e validações do perfil. Ao atualizar outro ambiente, executar python manage.py migrate antes de iniciar o servidor.
Commits importantes seguem o formato em português, por exemplo feat (docs): adiciona documentação da arquitetura do sistema..
Correção de requisitos em 06/10/2026: a agenda passa a aceitar Equipamentos, Serviços e Visitas. Visitas têm somente dia, início e término; espaços não admitem novas reservas e registros anteriores ficam como legado consultável/cancelável. Equipamentos/serviços mantêm motivo e observações opcionais. Requisitos atualizados e contrato corrente. Migração 0008 aplicada localmente; 445 testes Django passaram e fluxo básico verificado no Chrome. Exclusividade das visitas continua uma proposta provisória.
Nova entrega de 06/10/2026: visitas registram a sala ID 1 no AgroHub já na criação, com a sessão do criador. Detalhe mostra ID/situação remotos; edição e cancelamento usam o mesmo vínculo. Falhas preservam o registro local e resultados incertos exigem conciliação por consulta. Migração 0009 aplicada localmente. Permissões e efeitos reais no provedor ainda precisam da depuração com conta autorizada.
Ampliação de visitas: formulário e detalhe incluem quantidade de pessoas, enviada ao AgroHub com validação de capacidade. As observações remotas identificam o usuário criador e mantêm a referência da integração. Migração 0010 aplicada localmente; 536 testes passaram. Contrato e depuração.
Entrega de 07/10/2026: Regimento em /regimento/ e Calendário de funcionamento em /calendario-de-funcionamento/, portados do monólito. O campo roles de Accounts agora define o acesso: admin é administrador do laboratório; staff é usuário interno da equipe; demais contas conservam páginas públicas e perfil, sem Dashboard ou agendamentos. Papéis são revalidados a cada requisição privada. Migração accounts.0005_papeis_agrohub aplicada localmente; 578 testes aprovados e cenários básicos verificados no Chrome. Contrato, capturas e depuração.