🚀 Guia do Aluno & Manual de Início Rápido do Projeto Integrador

Bem-vindo(a) ao Projeto Integrador Interdisciplinar (GTI - FATEC)! Este manual foi criado para orientar você e sua equipe na construção de uma aplicação web corporativa funcional ponta a ponta, integrando os conhecimentos de Engenharia de Software, Banco de Dados e Programação Orientada a Objetos em Python. 🛡️🧩


🎯 1. O que é o Projeto Integrador (PI)?

O Projeto Integrador simula o ambiente profissional de uma Software House ou time de TI corporativo. Você e seu time atuarão como Analistas de Sistemas, percorrendo todo o ciclo de vida de desenvolvimento:

graph LR
    E1["1. Elicitação<br/>(User Stories & Trello)"] --> E2["2. Modelagem<br/>(UML & DER no Draw.io)"]
    E2 --> E3["3. Backend & API<br/>(Flask & SQLAlchemy)"]
    E3 --> E4["4. Frontend Web<br/>(Jinja2 & Bootstrap 5)"]
    E4 --> E5["5. Banco Dual & CI/CD<br/>(SQLite / Docker Postgres)"]

    style E1 fill:#e3f2fd,stroke:#1e88e5,stroke-width:2px
    style E2 fill:#fff8e1,stroke:#fbc02d,stroke-width:2px
    style E3 fill:#e8f5e9,stroke:#43a047,stroke-width:2px
    style E4 fill:#f3e5f5,stroke:#8e24aa,stroke-width:2px
    style E5 fill:#ffebee,stroke:#e53935,stroke-width:2px

👥 2. Formação da Equipe & Papéis Ágeis (2 a 4 Alunos)

Cada integrante assume um papel principal no projeto (com atuação colaborativa em código):

PapelResponsabilidades PrincipaisEntregáveis Chave
👔 Product Owner (PO)Elicitação de requisitos, regras de negócio e priorização do Backlog.Documento de Visão, User Stories e Quadro Kanban no Trello/GitHub.
📐 Engenheiro de SoftwareArquitetura do sistema, diagramas UML e fluxos de interação.Casos de Uso, Diagrama de Classes e Diagrama de Atividades/Estados.
🛢️ DBA / ModeladorProjeto conceitual e lógico do banco de dados e normalização 3FN.Diagrama DER, Script DDL (Postgres/SQLite) e Mapeamento ORM.
💻 Desenvolvedor Full-Stack / QAConstrução das rotas Flask, templates Jinja2 e testes automatizados.Código-fonte modularizado, telas Bootstrap e suíte de testes pytest.

🧭 3. Como Escolher o Tema na Galeria (Matriz 5 Setores × 2 Níveis)

A galeria conta com 10 Projetos Oficiais organizados nos 5 Grandes Setores da Economia Brasileira:

┌──────────────────────────────────────────────────────────────────────────────────┐
│ 🏭 SETOR 1: INDÚSTRIA & PRODUÇÃO                                                 │
│    🟢 Nível 1: PI 01 — ManuTrack (Manutenção Preventiva de Máquinas)             │
│    🔴 Nível 2: PI 02 — StockFlow (Almoxarifado Industrial, Lotes & Curva ABC)    │
├──────────────────────────────────────────────────────────────────────────────────┤
│ 🛒 SETOR 2: COMÉRCIO & VAREJO                                                    │
│    🟢 Nível 1: PI 03 — PDVLite (Frente de Caixa & Balcão de Vendas)              │
│    🔴 Nível 2: PI 04 — ShopFlow (E-commerce B2C, Catálogo & Carrinho)            │
├──────────────────────────────────────────────────────────────────────────────────┤
│ 🛠️ SETOR 3: SERVIÇOS & TECNOLOGIA                                                │
│    🟢 Nível 1: PI 05 — ParkFlow (Estacionamentos & Tarifação)                    │
│    🔴 Nível 2: PI 06 — ServiceFlow (Ordens de Serviço & Gestão de SLA)           │
├──────────────────────────────────────────────────────────────────────────────────┤
│ 🌾 SETOR 4: AGROPECUÁRIA & AGRONEGÓCIO                                           │
│    🟢 Nível 1: PI 07 — AgroSafe (Insumos Agrícolas & Defensivos)                 │
│    🔴 Nível 2: PI 08 — CattleFlow (Pecuária, Rastreabilidade & Vacinação)        │
├──────────────────────────────────────────────────────────────────────────────────┤
│ 🏢 SETOR 5: FINANCEIRO E IMOBILIÁRIO                                             │
│    🟢 Nível 1: PI 09 — FinLite (Contas a Pagar/Receber & Fluxo de Caixa)         │
│    🔴 Nível 2: PI 10 — ImobiFlow (Gestão Imobiliária, Contratos & Locação)       │
└──────────────────────────────────────────────────────────────────────────────────┘

[!TIP] Como Escolher:

  • Grupos em Consolidação de Base: Escolham projetos de Nível 1 (🟢 Essencial / 3 a 4 Tabelas). Vocês entregarão um sistema 100% funcional com relacionamentos 1:N diretos.
  • Grupos Avançados / Desafiadores: Escolham projetos de Nível 2 (🔴 Intermediário / 5 a 7 Tabelas), implementando relacionamentos N:N, transações ACID e relatórios analíticos.

⚡ 4. Setup do Ambiente em 3 Minutos no VS Code

O curso disponibiliza um template oficial pronto para clonar na pasta:
📂 examples/template_projeto_integrador/

Passo a Passo de Execução:

  1. Instale as Extensões Recomendadas no VS Code: Abra o projeto e aceite a instalação do pacote .vscode/extensions.json (Python, Jinja, SQLTools, Docker, Draw.io).

  2. Crie e Ative seu Ambiente Virtual:

    python -m venv venv
    # No Windows (PowerShell):
    .\venv\Scripts\Activate.ps1
    # No Linux/Mac:
    source venv/bin/activate
    
  3. Instale as Dependências:

    pip install -r requirements.txt
    
  4. Execute o Sistema com SQLite (Zero Configuração no Dia 1):

    python main.py
    
    • 🌐 Aplicação Web & API: http://localhost:5000
  5. Execute a Suíte de Testes Automatizados:

    pytest
    

📅 5. Cronograma de Entregas e Rubricas de Avaliação

timeline
    title Linha do Tempo do Projeto Integrador (20 Semanas)
    Semana 04 : Entrega 1 - Concepção e Escopo : Documento de Visão, Personas e User Stories no Trello
    Semana 08 : Entrega 2 - Modelagem de Engenharia : Casos de Uso, Diagrama de Classes e DER 3FN no Draw.io
    Semana 14 : Entrega 3 - Backend e Persistência : API Flask, Modelos SQLAlchemy e Banco Dual
    Semana 20 : Entrega 4 - Entrega Final : Aplicação Web Jinja2, Testes Pytest, Docker e Apresentação

Rubrica Oficial de Pontuação:

Marco de EntregaPrazoPesoCritérios Avaliados
Entrega 1: Escopo e RequisitosSemana 0420%Documento de Visão claro, 8+ Requisitos Funcionais, 3+ RNF e Backlog estruturado no Trello/GitHub.
Entrega 2: Modelagem VisualSemana 0825%Diagrama de Casos de Uso com <<include>>/<<extend>>, Diagrama de Classes tipado e DER normalizado (3FN) no Draw.io.
Entrega 3: Backend & Banco DualSemana 1425%Rotas Flask funcionando e testadas, persistência SQLAlchemy com SQLite local e PostgreSQL no Docker.
Entrega 4: Sistema Completo & QASemana 2030%Interface web responsiva com Bootstrap 5, suíte de testes pytest aprovada, README completo e apresentação oral.

🛡️ 6. Regras de Ouro para o Sucesso da Equipe

  1. A "Regra dos Três Mundos": Certifique-se de que cada tabela SQL tenha sua classe correspondente em Python e seu bloco no Diagrama de Classes UML.
  2. Commits Frequentes: Não deixem para subir código no último dia. Usem Git e branches de funcionalidade (feature/nova-tela).
  3. Qualidade desde o Dia 1: Escrevam testes simples com pytest para garantir que o que funciona hoje continue funcionando amanhã.
  4. Comunicação Clara: O software profissional é aquele que qualquer desenvolvedor consegue clonar, rodar e entender em menos de 5 minutos! 🚀🛡️