Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Wiki Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • Saúde Bucal Quilombola
  • WikiWiki
  • Wiki
  • infraestrutura

Last edited by Henrique Dalpisol Lopes Apr 12, 2025
Page history
This is an old version of this page. You can view the most recent version or browse the history.

infraestrutura

Tecnologias

React

React é uma biblioteca JavaScript para construção de interfaces de usuário dinâmicas e reativas. Sua arquitetura baseada em componentes permite a criação de elementos reutilizáveis, como formulários de questionário, cards de informações de saúde bucal e seções interativas da cartilha educativa. Com o Virtual DOM, React otimiza o desempenho ao atualizar apenas as partes necessárias da interface, ideal para exibir recomendações personalizadas em tempo real aos usuários. A integração com ferramentas como React Router facilita a navegação entre a área pública e o painel administrativo.

Typescript

TypeScript adiciona tipagem estática ao JavaScript, garantindo maior segurança e prevenção de erros durante o desenvolvimento. No projeto, é crucial para validar dados complexos, como respostas dos questionários sociodemográficos e informações de saúde bucal das comunidades quilombolas. A tipagem também facilita a colaboração entre equipes, especialmente na integração entre o frontend (React) e o backend (Node.js/NestJS), reduzindo inconsistências no processamento de dados clínicos e territoriais.

Tailwind

Tailwind CSS é um framework de estilização utilitário que acelera o desenvolvimento de interfaces responsivas. Sua abordagem modular permite criar designs acessíveis para dispositivos móveis e desktop, essencial para comunidades quilombolas com diferentes níveis de acesso à tecnologia.

NodeJS

Node.js é uma plataforma para execução de JavaScript no lado do servidor, ideal para construir APIs rápidas e escaláveis. No contexto do projeto, será responsável por processar respostas dos questionários, gerar recomendações personalizadas de saúde bucal e integrar dados sociodemográficos com critérios clínicos. Sua natureza não bloqueante permite lidar com múltiplas requisições simultâneas, como o envio de dados e acesso administrativo a relatórios.

NestJS

NestJS é um framework backend em TypeScript que combina padrões de programação orientada a objetos e funcional, ideal para estruturar a lógica complexa do projeto. Sua arquitetura modular permite organizar funcionalidades como autenticação de administradores, processamento de dados e integração segura com o banco de dados Postgre. Além disso, a injeção de dependências nativa simplifica a manutenção do sistema.

PostgreSQL

PostgreSQL é um banco de dados relacional de código aberto, robusto e escalável, ideal para armazenar dados estruturados de forma segura e confiável. Suporte a transações ACID garante integridade em operações como atualizações simultâneas do painel administrativo ou importação de grandes volumes de dados. Com recursos como buscas rápidas via indexação, consultas complexas para cruzamento de variáveis e integração simplificada com ferramentas como o Prisma, facilita a modelagem e o gerenciamento eficiente de dados. Mecanismos de segurança nativos, como criptografia e controle de acesso detalhado, protegem informações sensíveis, enquanto sua escalabilidade suporta desde pequenas implantações até sistemas de alto desempenho.

Prisma

Prisma é uma ferramenta de ORM (Mapeamento Objeto-Relacional) que simplifica a interação com bancos de dados por meio de um esquema declarativo. Ele permite definir modelos de dados de forma intuitiva e gera automaticamente consultas SQL otimizadas, garantindo type safety e prevenindo erros comuns em operações de CRUD. Com suporte nativo a migrações de banco de dados, o Prisma facilita a evolução do esquema sem comprometer a integridade dos dados. Sua integração direta com PostgreSQL assegura desempenho em consultas complexas além de oferecer validação em tempo de compilação para evitar inconsistências.

Docker

Docker é uma ferramenta de containerização que simplifica a implantação e o gerenciamento do ambiente do projeto. Ele isola serviços como o banco de dados PostgreSQL e o backend em NestJS em containers independentes, garantindo compatibilidade entre ambientes de desenvolvimento e produção. Isso é crucial para implantar o sistema em servidores de saúde pública e escalar a aplicação conforme a demanda, especialmente para atender comunidades quilombolas distribuídas em diferentes regiões. A containerização também facilita a configuração de ambientes específicos para processamento estatístico e garante que atualizações futuras não afetem a estabilidade do sistema.

Diagrama de deploy

diagramaDeploy

Clone repository

Navegação

  • Home
  • Escopo e Cronograma
  • Processo
  • Design/Mockups
  • Configuração
  • Arquitetura
  • Infra
  • Código
  • BD