Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • 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
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • WeConecta - Plataforma digital para questionários de saúde
  • Wiki
  • Wiki
  • codigo

Last edited by Hártur Kunzler Mainardi Nov 15, 2025
Page history

codigo

Tecnologias Utilizadas

Esta página documenta as principais tecnologias empregadas no desenvolvimento da plataforma, detalhando o papel de cada uma dentro da arquitetura do sistema. O objetivo é fornecer uma visão clara e centralizada sobre as escolhas técnicas que sustentam o projeto, facilitando o entendimento da equipe atual e futura.


Frontend

O frontend da aplicação foi desenvolvido utilizando uma combinação moderna de tecnologias amplamente adotadas na indústria.

React + Next.js

A interface foi construída com a biblioteca React, conhecida por sua abordagem declarativa, componentização e ecossistema rico. Para potencializar essas capacidades, foi adotado o framework Next.js, que oferece:

  • Estruturação automática de rotas
  • Renderização híbrida (SSR, SSG, ISR)
  • Otimizações de performance
  • Integração simplificada com TypeScript
  • Ferramentas robustas de desenvolvimento e build

Essa combinação permitiu criar uma interface responsiva, escalável e com alta organização estrutural.

TypeScript

O código do frontend foi escrito majoritariamente em TypeScript, garantindo:

  • Maior segurança de tipos
  • Redução de erros comuns
  • Melhor experiência de desenvolvimento
  • Documentação implícita do código

Essa escolha trouxe estabilidade ao projeto e facilitou a colaboração entre os membros da equipe.


Backend

O backend foi construído sobre tecnologias versáteis e focadas em modularidade e organização arquitetural.

Node.js

A API utiliza Node.js, ambiente de execução baseado no motor V8 do Google. Ele oferece:

  • Alta produtividade
  • Excelente suporte à concorrência
  • Ecossistema rico de bibliotecas e ferramentas

NestJS

O framework principal utilizado foi o NestJS, escolhido por fornecer:

  • Arquitetura modular baseada em modules, controllers e providers
  • Forte integração com TypeScript
  • Suporte nativo a Dependency Injection
  • Estrutura clara, estável e escalável
  • Abstrações para middlewares, guards, interceptors e pipes

A combinação de Node.js + NestJS proporcionou uma API organizada, extensível e alinhada às melhores práticas de projetos modernos.


Banco de Dados

PostgreSQL

Para armazenamento das informações, foi utilizado o sistema gerenciador de banco de dados PostgreSQL, reconhecido por sua robustez e conjunto avançado de funcionalidades, como:

  • Suporte a JSON/JSONB
  • Transações seguras
  • Alta performance
  • Extensões avançadas, como PostGIS
  • Forte compatibilidade com ORMs e ferramentas de integração

Ele serviu como base para persistência dos dados e comunicação segura e eficiente com o backend.


Infraestrutura e Deploy

AWS Amplify

O frontend é hospedado no AWS Amplify, que fornece:

  • CI/CD integrado
  • Hosting otimizado
  • Automação de build
  • Integração facilitada com repositórios Git

AWS EC2

A API é executada em uma instância EC2, onde roda em ambiente Dockerizado. Isso trouxe:

  • Controle granular do ambiente
  • Possibilidade de escalabilidade
  • Isolamento das dependências via containers

Docker

Toda a API roda em containers Docker, garantindo:

  • Reprodutibilidade dos ambientes
  • Isolamento adequado
  • Facilidade de deploy e manutenção

GitLab CI/CD

O pipeline de deploy foi configurado no GitLab, permitindo:

  1. Execução de testes automatizados
  2. Envio de migrations ao banco
  3. Construção da nova imagem Docker
  4. Parada dos containers antigos
  5. Inicialização da API atualizada

Esse fluxo garantiu consistência e segurança em cada publicação.


Resumo

A arquitetura tecnológica do sistema foi projetada para equilibrar:

  • Produtividade no desenvolvimento
  • Robustez arquitetural
  • Facilidade de manutenção
  • Baixo custo e simplicidade operacional
  • Adoção de práticas modernas de engenharia

O uso combinado de Next.js, NestJS, TypeScript, PostgreSQL e infraestrutura Dockerizada na AWS possibilitou a construção de uma solução sólida, escalável e alinhada aos padrões contemporâneos de mercado.

Clone repository
  • Home
  • arquitetura
  • banco_dados
  • codigo