Skip to content

Latest commit

 

History

History
42 lines (40 loc) · 2.52 KB

File metadata and controls

42 lines (40 loc) · 2.52 KB

Requisitos

O sistema deve:

  • Criar, visualizar, editar, renomear e excluir notas em markdown
  • Guardar as notas de forma centralizada, com o servidor como única fonte da verdade
  • Dar a cada nota um caminho lógico único dentro do cofre a que ela pertence
  • Nunca alterar o conteúdo nem o caminho de uma nota por conta própria
  • Calcular ligações entre notas, agrupamentos por tema e índices sem pedir nada ao usuário
  • Reconstruir qualquer estrutura derivada a partir das notas, a qualquer momento
  • Indexar o conteúdo para busca léxica, com relevância e trecho destacado no resultado
  • Indexar o conteúdo em vetores para busca semântica
  • Atualizar os índices automaticamente a cada edição
  • Buscar por título e por conteúdo, combinando o ramo léxico e o semântico
  • Deixar o cliente navegar pela base, pela visão derivada ou pelo caminho lógico
  • Expor uma API REST como única interface, versionada por prefixo de caminho
  • Publicar a documentação dessa API junto com o servidor
  • Aceitar vários clientes como pares da mesma API, sem cliente privilegiado
  • Servir um painel web ao navegador, com o código baixado sob demanda
  • Atender agentes de IA por um servidor MCP que expõe o mesmo conjunto de operações da API REST, isolado dela por perfil de carga
  • Controlar o acesso por autenticação, com credencial local e provedores externos habilitados por configuração
  • Tratar o cofre como unidade de acesso, onde quem é membro lê e escreve todas as notas dele
  • Separar os dados de cada tenant dentro do banco, sem depender de filtro escrito em cada consulta
  • Persistir usuários, cofres, notas e dados derivados em banco de dados
  • Enviar email e notificações por provedor configurável, fora do caminho da requisição
  • Registrar toda operação crítica numa trilha de auditoria que só aceita inserção
  • Publicar a documentação da modelagem de dados e da arquitetura
  • Rodar em cenário de desenvolvimento e em cenário de produção, com a mesma imagem de container
  • Provisionar a infraestrutura de nuvem por IaC
  • Implantar em produção automaticamente por CI/CD
  • Terminar TLS em toda porta exposta
  • Responder com baixa latência sob carga de leitura
  • Manter o painel web utilizável em tela de celular e de desktop
  • Operar com custo mínimo
  • Configurar-se por variável de ambiente, sem arquivo montado no contêiner
  • Não guardar estado no disco do contêiner
  • Emitir log estruturado, métrica e rastro para coleta externa
  • Rodar self-hosted numa instalação de um nó, com o mesmo código que roda na nuvem