Skip to content

Tecnologias e Pacotes Utilizados

O Cidade Gov é desenvolvido utilizando uma stack moderna e robusta, focada em produtividade, segurança e escalabilidade. Abaixo, detalhamos as tecnologias principais e os pacotes utilizados no backend e frontend.

Backend (PHP/Laravel)

Linguagem e Framework

  • PHP 8.4: Versão mais recente do PHP, com melhorias de performance e novos recursos.
  • Laravel 12: Framework PHP moderno para desenvolvimento web, com arquitetura MVC, ORM Eloquent e ferramentas poderosas para desenvolvimento rápido.

Multi-tenancy

  • stancl/tenancy: Pacote para implementação de multi-tenancy com bancos de dados separados por tenant. Fornece isolamento completo de dados e gerenciamento automático de contextos.

Autenticação e Autorização

  • Laravel Fortify: Backend headless para autenticação, suportando login/logout, registro, reset de senha e verificação de email.
  • spatie/laravel-permission: Gerenciamento avançado de roles e permissions, permitindo controle granular de acessos por tenant.

Banco de Dados e Persistência

  • MariaDB: Sistema de gerenciamento de banco de dados relacional, escolhido por sua performance e compatibilidade com MySQL.
  • Laravel Auditing (owen-it/laravel-auditing): Auditoria automática de mudanças em modelos, essencial para compliance e rastreabilidade em sistemas de saúde.

Comunicação em Tempo Real

  • Laravel Reverb: Servidor WebSocket nativo do Laravel para comunicação em tempo real, usado para notificações e atualizações live.

Filas e Processamento Assíncrono

  • Laravel Queues: Sistema de filas integrado para processamento de tarefas demoradas, como sincronizações com sistemas externos (RNDS, BNAFAR).

Outros Pacotes Essenciais

  • Laravel Sanctum: Autenticação API para SPAs e mobile apps.
  • Laravel Socialite: Integração com provedores OAuth (Google, Facebook, etc.).
  • Laravel Telescope: Debugging e monitoramento de aplicações em produção.
  • Laravel Pail: Ferramenta de linha de comando para visualização de logs.

Frontend (Vue.js/PrimeVue)

Framework JavaScript

  • Vue 3: Framework progressivo para construção de interfaces de usuário, com Composition API e melhor performance.
  • Inertia.js v2: Biblioteca para criação de SPAs modernas sem API separada, integrando Vue com Laravel de forma seamless.

Componentes UI

  • PrimeVue (Unstyled Mode): Biblioteca de componentes UI acessíveis e customizáveis, configurada em modo "unstyled" para máxima flexibilidade com Tailwind CSS.

Estilização

  • Tailwind CSS v4: Framework CSS utility-first para design responsivo e consistente.
  • @inertiajs/vue3: Integração oficial do Inertia.js com Vue 3.

Ferramentas de Desenvolvimento

  • Vite: Build tool moderno e rápido para desenvolvimento frontend.
  • ESLint: Linting de código JavaScript/TypeScript.
  • Prettier: Formatação automática de código.

Integrações Externas

Sistemas de Saúde

  • RNDS (Rede Nacional de Dados em Saúde): Integração para compartilhamento de dados de saúde.
  • BNAFAR (Banco Nacional de Farmácias): Controle de estoques e dispensação de medicamentos.
  • CNES (Cadastro Nacional de Estabelecimentos de Saúde): Base de dados de unidades de saúde.
  • SIGTAP: Tabela unificada de procedimentos e medicamentos do SUS.
  • CNS (Cartão Nacional de Saúde): Identificação única de cidadãos no sistema de saúde.

Autenticação Externa

  • LDAP/Active Directory: Autenticação integrada com servidores corporativos.
  • Keycloak: Servidor de identidade para autenticação federada.

Comunicação

  • WhatsApp Business API: Integração para atendimento cidadão via chatbots e notificações.

Futuro: Aplicativo Mobile

  • NativePHP: Framework para desenvolvimento de aplicações desktop e mobile nativas usando PHP e Laravel. Será utilizado para criar um app mobile complementar ao sistema web.

Infraestrutura e DevOps

Servidor

  • Nginx/Apache: Servidores web para hospedagem.
  • Redis: Cache e armazenamento de sessões.
  • Supervisor: Gerenciamento de processos para filas Laravel.

Desenvolvimento

  • Composer: Gerenciador de dependências PHP.
  • NPM/Yarn: Gerenciadores de pacotes JavaScript.
  • Docker: Containerização para ambientes de desenvolvimento consistentes.
  • Git: Controle de versão.

Qualidade de Código

  • Laravel Pint: Formatação automática de código PHP.
  • Larastan (PHPStan): Análise estática de código PHP.
  • Pest: Framework de testes para PHP, integrado ao Laravel.

Essa stack tecnológica permite ao Cidade Gov oferecer uma experiência robusta, segura e moderna para gestão municipal de saúde, com foco em produtividade do desenvolvedor e satisfação do usuário final.