| Home | Escopo | Gerência | Processo | Design | Configuração | Arquitetura | Banco de Dados |
|---|
Sumário
- 1. Visão Geral da Arquitetura
- 2. Diagrama de Deploy
- 3. Fluxo Geral do Sistema
- 4. Componentes da Arquitetura
- 5. Infraestrutura AWS (Visão Geral)
- 6. Custos da Infraestrutura (orçamento)
- 8. Decisões Arquiteturais
1. Visão Geral da Arquitetura
Sistema web full-stack composto por:
- Frontend: React + Vite (hospedado na Vercel)
- Backend: NestJS rodando em uma instância EC2
- Banco de Dados: PostgreSQL em Docker
- CI/CD: Pipelines automáticos para deploy de frontend e backend
2. Diagrama de Deploy
Esse diagrama representa:
- Onde cada parte do sistema está hospedada
- Como backend, frontend, banco e S3 se comunicam
- Como funcionam os pipelines de deploy
- Relação entre EC2, S3 e Vercel
3. Fluxo Geral do Sistema
3.1. Fluxo da Aplicação (Execução)
- Usuário acessa o Frontend (Vercel)
- O frontend envia requisições à API (EC2)
- O backend processa regras de negócio
- O backend consulta e atualiza o Banco PostgreSQL
- Para uploads:
- Frontend → Backend → S3
- S3 retorna a URL ao Backend
- Backend retorna ao Frontend
- O Frontend exibe dados e imagens armazenadas
3.2. Fluxo de Deploy
Backend (EC2)
- Commit → pipeline é acionada
- Pipeline executa build
- Nova versão é enviada e atualizada no EC2 via Docker
Frontend (Vercel)
- Commit → build automático
- Deploy instantâneo
- Rollback fácil e protegido
4. Componentes da Arquitetura
4.1 Backend – NestJS
Tecnologias:
- NestJS
- TypeScript
- Prisma ORM
- Docker
- JWT Authentication
Responsabilidades:
- Regras de negócio
- Autenticação
- Integração com PostgreSQL
- Uploads para o S3
- Expor endpoints REST para o frontend
Principais Endpoints:
GET /usersPOST /usersPATCH /users/:idDELETE /users/:id
4.2 Banco de Dados – PostgreSQL
- Rodando em container Docker
- Porta interna não exposta publicamente
- Gerenciado via Prisma
- Migrations e seeds automatizados
4.3 Frontend – React + Vite
Tecnologias:
- React
- Vite
- TypeScript
- ESLint
- Deploy pela Vercel
4.5 Instância EC2 (Resumo Geral)
Informações:
- Papel: Hospedar Backend + Banco (via Docker)
- Região: us-east-2
- Comunicação segura com S3 via IAM Role
5. Infraestrutura AWS (Visão Geral)
Componentes utilizados:
- EC2 – Executa backend e banco
- S3 – Armazenamento de imagens
- IAM Roles – Permissões seguras (sem chaves no código)
6. Custos da Infraestrutura (orçamento)
8. Decisões Arquiteturais
Escolhas principais:
- EC2 + Docker pela simplicidade de deploy
- PostgreSQL em container para manter custo zero no BD
- S3 pela durabilidade e integração nativa
- Frontend na Vercel por facilidade, rapidez e custo zero
- Pipelines para automação e consistência

