Esta sequência de atividades parte de um banco de dados vazio e termina em uma aplicação web protegida por login. Cada nota depende da anterior e entrega algo que será reaproveitado na próxima.

O que você vai construir

Um sistema de Gestão de Produtos e Categorias com banco SQLite, controle de estoque, análise de vendas, gráfico, API JSON, relatório em HTML e acesso restrito por usuário e senha.

Sequência

NotaTemaAmbienteTempo
1. CRUD e análise de dadosTabelas, inserção, consulta, atualização, exclusão, SQL e PandasGoogle Colab60 min
2. Vendas e estoqueChave estrangeira, transação e produto mais vendidoGoogle Colab40 min
3. VisualizaçãoGráfico de barras e exportação do PNGGoogle Colab30 min
4. API e relatório com BottleRota JSON, página HTML e arquivos estáticosComputador local50 min
5. AutenticaçãoHash de senha, cookie assinado e rota protegidaComputador local60 min

Onde cada parte roda

O Bottle não funciona no Colab

O Colab executa seu código em um servidor remoto do Google. Quando o Bottle informa localhost:8080, esse endereço aponta para a máquina do Google, e não para o seu navegador. Por isso, as notas 1 a 3 usam o Colab, e as notas 4 e 5 devem ser feitas no seu computador, com VS Code e terminal.

Para as notas 1 a 3: uma conta Google e o Google Colab.

Para as notas 4 e 5:

  • Python 3.10 ou superior
  • VS Code (ou outro editor) e um terminal
  • Pacote bottle na versão 0.13 ou superior

Como estudar

  • Tente resolver cada desafio antes de abrir a solução.
  • As soluções ficam em blocos recolhidos, como este:
  • Ao final de cada nota, marque o checklist de verificação. Se algum item falhar, consulte a seção Erros comuns.

Mapa CRUD

O mesmo conjunto de operações aparece em quatro camadas ao longo das notas:

OperaçãoSQLPython (sqlite3)HTTP (Bottle)
CreateINSERTexecute / executemany + commitPOST
ReadSELECTexecute + fetchall / fetchoneGET
UpdateUPDATEexecute + commitPUT / PATCH
DeleteDELETEexecute + commitDELETE

Critérios de avaliação (sugestão)

CritérioO que evidenciaNota
ModelagemTabelas com chave primária, chave estrangeira e CHECK funcionando1 e 2
Segurança de dadosUso de ? nas consultas, sem montar SQL por concatenação1 a 5
IntegridadeVenda e baixa de estoque na mesma transação, com rollback testado2
AnáliseRespostas corretas às perguntas de negócio1 a 3
Comunicação visualGráfico com título, rótulos e destaque coerentes3
Aplicação webAPI e página funcionando, com acentos corretos4
AutenticaçãoSenha armazenada como hash, rota protegida, segredo fora do código5

Ajuste os pesos

A tabela indica o que observar. Defina a pontuação de cada critério conforme a carga horária e o objetivo da sua turma.