Arquitetura

Documentação da Arquitetura do projeto OncoMap

Arquitetura Lógica da Solução

A solução OncoMap segue um modelo de Arquitetura em Camadas (Tiered Architecture), separando a interface do usuário (Frontend) da lógica de negócios (Backend) e do armazenamento de dados (Banco de Dados).

Abaixo está o diagrama de alto nível que ilustra a interação entre os principais componentes do sistema.

  • Frontend (Apresentação): Responsável pela interface e experiência do usuário.
  • Backend (Lógica de Negócios): Servidor API RESTful que orquestra as regras de negócio e a persistência de dados.
  • Banco de Dados (Persistência): Armazena todas as informações clínicas e de usuário.

Stack Tecnológico

As seguintes tecnologias foram escolhidas para compor o projeto, visando desempenho, escalabilidade e facilidade de manutenção:

🖥️ Frontend (Interface)

React Vite TypeScript

⚙️ Backend (API e Lógica)

NodeJS Express Puppeteer

🗄️ Dados & IA

PostgreSQL Supabase Gemini

🛠️ DevOps & QA

Docker Jest GitHub Actions

Estrutura de Componentes

.
└── 2025-2-OncoMap/
    ├── .github/workflows/           # CI/CD (Pipeline Mensal)
    ├── Oncomap/
    │   ├── backend/
    │   │   ├── src/
    │   │   │   ├── api/             # Controllers e Rotas (Express)
    │   │   │   ├── config/          # Configuração de Banco e Env
    │   │   │   ├── scripts/         # Pipeline de Dados (Coleta + IA)
    │   │   │   ├── tests/           # Testes Unitários (Jest)
    │   │   │   └── utils/           # Funções auxiliares
    │   │   ├── Dockerfile
    │   │   └── server.js
    │   └── frontend/                # Aplicação React + Vite
    │   │   ├── src/
    │   │   └── Dockerfile
    ├── docker-compose.yml           # Orquestração dos containers
    └── README.md

Diagrama

Diagrama 1 Diagrama 2 Diagrama 3