Portfólio estruturado com 20 Projetos Práticos de Engenharia de Software desenvolvidos em Python 3.12+ com Type Hints, POO rigorosa, persistência ACID e interfaces visuais:
graph LR
subgraph Nivel1 ["🟢 Nível Introdutório: Metodologia dos 4 Degraus (10 Miniprojetos)"]
D1["Degrau 1: Imperativo & .txt/.json"] --> D2["Degrau 2: Primeira Classe (__init__)"]
D2 --> D3["Degrau 3: SQLite Nativo"] --> D4["Degrau 4: Tkinter ou Streamlit"]
end
subgraph Nivel2 ["🟡 Nível Intermediário: Metodologia das 4 Fases (10 Projetos Integradores)"]
F1["Fase 1: Transição & Requisitos"] --> F2["Fase 2: Estruturação & DER"]
F2 --> F3["Fase 3: MVC + NoSQL + Threads"] --> F4["Fase 4: Deploy & PyInstaller .exe"]
end
Nivel1 ==> Nivel2
Os 10 miniprojetos do Bloco A seguem o mesmo caminho em 4 degraus. Cada página do Catálogo traz o passo a passo completo do projeto; aqui fica a visão de conjunto para o professor e para o aluno.
Este documento foi totalmente estruturado considerando a realidade de alunos que estudaram apenas a sintaxe básica de Python até funções em simuladores web, sem experiência prévia com IDEs (VS Code / PyCharm), Orientação a Objetos, bancos de dados relacionais ou interfaces visuais.
A proposta adota uma metodologia em 4 degraus lineares, onde o aluno nunca é exposto a conceitos avançados (como DAO, Dataclasses, Type Hints estritos ou Padrões de Projeto complexos) de forma abrupta. A evolução ocorre gradualmente e de forma palpável dentro de cada projeto.
flowchart LR
D1["🪜 DEGRAU 1\nImperativo & Arquivos\nFunções, Listas/Dicts,\n.txt ou .json (CLI)"] --> D2["🪜 DEGRAU 2\nPrimeira Classe POO\nApenas __init__ e\nmétodos para agrupar"]
D2 --> D3["🪜 DEGRAU 3\nBanco SQLite Nativo\nTabelas simples com\nCREATE, INSERT, SELECT"]
D3 --> D4["🪜 DEGRAU 4\nInterface Sem HTML\nDesktop (Tkinter) ou\nWeb (Streamlit)"]
style D1 fill:#fffde7,stroke:#fbc02d,stroke-width:2px
style D2 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
style D3 fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
style D4 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
input() e loop while) usando funções puras, listas, dicionários e salvando dados em arquivos .txt (com open() e split()) ou .json (com json.dump() e json.load()).__init__ e métodos simples para alterar atributos, substituindo os dicionários soltos.sqlite3, cria uma tabela com CREATE TABLE e substitui o arquivo de texto/JSON por comandos SQL básicos (INSERT, SELECT, UPDATE e DELETE).| # | Projeto | Identificador da Pasta | Negócio Local (Pequena Cidade) | Degrau 1 (Imperativo) | Degrau 2 (Primeira Classe) | Degrau 3 (SQLite Nativo) | Degrau 4 (Interface Visual) |
|---|---|---|---|---|---|---|---|
| 01 | Lista de Compras & Tarefas | sistemas_python_intro_01_lista_tarefas |
Uso pessoal e afazeres | Menu while + tarefas.txt |
Classe Tarefa (__init__) |
SQLite: 1 tabela (tarefas) |
Desktop: Tkinter com botões e lista |
| 02 | Caderno de Fiado da Mercearia | sistemas_python_intro_02_fiado_padaria |
Comércio de bairro / Padaria | Funções + fiado.json |
Classes Cliente e Conta |
SQLite: 2 tabelas (clientes, debitos) |
Web: Streamlit com tabela e totalizadores |
| 03 | Controle de Estoque da Cantina | sistemas_python_intro_03_estoque_cantina |
Cantina escolar / Lanchonete | Dicionários + estoque.txt |
Classe Produto (vender, repor) |
SQLite: 1 tabela com controle de saldo | Desktop: CustomTkinter com cards coloridos |
| 04 | Livro Caixa de Prestador de Serviço | sistemas_python_intro_04_caixa_autonomo |
Eletricista, encanador, pedreiro | Listas de dicionários + .json |
Classe Lancamento (receita/despesa) |
SQLite: Tabela de entradas e saídas | Web: Streamlit com filtros por data |
| 05 | Empréstimo de Livros da Biblioteca | sistemas_python_intro_05_biblioteca_livros |
Biblioteca comunitária / Escolar | Dicionários aninhados + .txt |
Classes Livro e Emprestimo |
SQLite: 2 tabelas relacionadas (1:N) | Desktop: Tkinter com abas de cadastro |
| 06 | Cadastro & Agendamento de Pet Shop | sistemas_python_intro_06_petshop_agenda |
Banho e tosa / Clínica de bairro | Dicionários em agenda.json |
Classes Tutor e Pet |
SQLite: 2 tabelas com chave estrangeira | Desktop: CustomTkinter com horário/agenda |
| 07 | Orçamento de Oficina Mecânica | sistemas_python_intro_07_oficina_mecanica |
Oficina de motos e carros | Listas de peças em orcamento.json |
Classes Peca, Servico e Orcamento |
SQLite: Tabelas de peças e orçamentos | Web: Streamlit com impressão de recibo |
| 08 | Caderno de Campo de Produtor Rural | sistemas_python_intro_08_campo_rural |
Pequena horta ou sítio local | Registro sequencial em campo.txt |
Classes Talhao e Colheita |
SQLite: Histórico de safras e custos | Web: Streamlit com resumo de produtividade |
| 09 | Chamados de Manutenção Predial | sistemas_python_intro_09_manutencao_predial |
Zeladoria de condomínio / Escola | Dicionários com status em .json |
Classe Chamado (abrir, concluir) |
SQLite: Tabela com status e observações | Web: Streamlit com cards por status |
| 10 | Catalogador de Arquivos & Backups | sistemas_python_intro_10_backup_arquivos |
Escritório de contabilidade / Advocacia | Funções de cópia e log em .txt |
Classe GerenciadorBackup |
SQLite: Tabela de histórico de backups | Desktop: CustomTkinter com barra de progresso |
gantt
title Cronograma Pedagógico Semanal (16 Semanas)
dateFormat YYYY-MM-DD
section Fase 1
Semanas 01-03 : Setup PyCharm/VS Code, CLI & Arquivos .txt/.json (Degrau 1) : 2026-02-01, 21d
section Fase 2
Semanas 04-07 : Primeiros Passos em POO, __init__ e Métodos (Degrau 2) : 2026-02-22, 28d
section Fase 3
Semanas 08-11 : Banco de Dados SQLite Nativo & Comandos SQL (Degrau 3) : 2026-03-22, 28d
section Fase 4
Semanas 12-15 : Interfaces Visuais com Tkinter / Streamlit (Degrau 4) : 2026-04-19, 28d
section Encerramento
Semana 16 : Apresentação Final, Demonstração e Avaliação : 2026-05-17, 7d
.py no computador local e constroem o Degrau 1 (menus imperativos com while, funções e arquivos .txt/.json).__init__ e criando métodos simples para alterar esses atributos). Construção do Degrau 2.INSERT, SELECT, UPDATE, DELETE) e uso da biblioteca nativa sqlite3 no Python. Construção do Degrau 3.| ⬅️ Voltar à Home de Sistemas com Python | 🏗️ Ver Todos os Projetos no Catálogo de Projetos |