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

codigo · Changes

Page history
Create codigo authored Nov 15, 2025 by Hártur Kunzler Mainardi's avatar Hártur Kunzler Mainardi
Hide whitespace changes
Inline Side-by-side
codigo.md 0 → 100644
View page @ 41d8f871
# 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