🚀 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):
| Papel | Responsabilidades Principais | Entregá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 Software | Arquitetura do sistema, diagramas UML e fluxos de interação. | Casos de Uso, Diagrama de Classes e Diagrama de Atividades/Estados. |
| 🛢️ DBA / Modelador | Projeto conceitual e lógico do banco de dados e normalização 3FN. | Diagrama DER, Script DDL (Postgres/SQLite) e Mapeamento ORM. |
| 💻 Desenvolvedor Full-Stack / QA | Construçã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:
-
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). -
Crie e Ative seu Ambiente Virtual:
python -m venv venv # No Windows (PowerShell): .\venv\Scripts\Activate.ps1 # No Linux/Mac: source venv/bin/activate -
Instale as Dependências:
pip install -r requirements.txt -
Execute o Sistema com SQLite (Zero Configuração no Dia 1):
python main.py- 🌐 Aplicação Web & API:
http://localhost:5000
- 🌐 Aplicação Web & API:
-
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 Entrega | Prazo | Peso | Critérios Avaliados |
|---|---|---|---|
| Entrega 1: Escopo e Requisitos | Semana 04 | 20% | Documento de Visão claro, 8+ Requisitos Funcionais, 3+ RNF e Backlog estruturado no Trello/GitHub. |
| Entrega 2: Modelagem Visual | Semana 08 | 25% | Diagrama de Casos de Uso com <<include>>/<<extend>>, Diagrama de Classes tipado e DER normalizado (3FN) no Draw.io. |
| Entrega 3: Backend & Banco Dual | Semana 14 | 25% | Rotas Flask funcionando e testadas, persistência SQLAlchemy com SQLite local e PostgreSQL no Docker. |
| Entrega 4: Sistema Completo & QA | Semana 20 | 30% | 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
- 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.
- Commits Frequentes: Não deixem para subir código no último dia. Usem Git e branches de funcionalidade (
feature/nova-tela). - Qualidade desde o Dia 1: Escrevam testes simples com
pytestpara garantir que o que funciona hoje continue funcionando amanhã. - Comunicação Clara: O software profissional é aquele que qualquer desenvolvedor consegue clonar, rodar e entender em menos de 5 minutos! 🚀🛡️