Files
project-based-learning/study/python-web-apps.md
T
2026-05-30 23:59:33 +00:00

77 lines
3.1 KiB
Markdown

# Python: Web Apps — Estudo
_Fonte: project-based-learning + Flask Mega-Tutorial_
---
## 📚 Recursos Estudados
| Tutorial | Stack | Cobertura |
|----------|-------|-----------|
| [Flask Mega-Tutorial](https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) | Flask, SQLAlchemy, Docker | 23 capítulos completos |
| [Django Girls Tutorial](https://tutorial.djangogirls.org/en/) | Django | Blog completo |
| [Test-Driven Development](https://testdriven.io/) | Flask, Docker, React | Microservices |
| [Flask + RethinkDB Todo](https://realpython.com/blog/python/rethink-flask-a-simple-todo-list-powered-by-flask-and-rethinkdb/) | Flask + RethinkDB | Tempo real |
| [Django REST API](https://codeburst.io/create-a-django-api-in-under-20-minutes-2a082a60f6f3) | Django REST Framework | API em 20 min |
| [Microservices with Docker](https://testdriven.io/) | Flask, Docker, React | Arquitetura moderna |
## 🎯 Aplicações para Mundo Telecom
1. **API REST** para o sistema de editais (em vez de scripts soltos)
2. **Dashboard interno** com Flask + templates ou React frontend
3. **Autenticação** JWT/OAuth para os serviços internos
4. **Microserviços**: cada serviço em container separado (já temos Docker!)
## 📝 Conceitos Aprendidos
### Flask (Mega-Tutorial — 23 capítulos)
| # | Capítulo | Conceito Chave |
|---|----------|----------------|
| 1 | Hello World | Estrutura básica, venv, debug mode |
| 2 | Templates | Jinja2, herança, blocos |
| 3 | Web Forms | WTForms, validação, CSRF |
| 4 | Database | SQLAlchemy, migrations (Alembic) |
| 5 | User Logins | Flask-Login, hash de senha, sessão |
| 6 | Profile & Avatars | Gravatar, upload de foto |
| 7 | Error Handling | Logging, páginas de erro customizadas |
| 8 | Followers | Auto-relacionamento muitos-para-muitos |
| 9 | Pagination | Paginação de queries |
| 10 | Email | Flask-Mail, tasks assíncronas |
| 11 | Facelift | Bootstrap, CSS |
| 12 | Dates/Times | Timezone-aware, Moment.js |
| 13 | I18n/L10n | Flask-Babel, traduções |
| 14 | Ajax | Requisições assíncronas, jQuery |
| 15 | App Structure | Blueprints, fábrica de apps |
| 16 | Full-Text Search | Whoosh/Elasticsearch |
| 17-19 | Deployment | Linux, Heroku, Docker |
| 20 | JavaScript | Integração frontend/backend |
| 21 | Notifications | Server-Sent Events |
| 22 | Background Jobs | Celery, RQ (Redis Queue) |
| 23 | APIs | RESTful, autenticação por token |
### Django vs Flask
| Aspecto | Flask | Django |
|---------|-------|--------|
| Complexidade | Leve, minimalista | Batteries-included |
| ORM | SQLAlchemy (separado) | Django ORM (integrado) |
| Admin | Precisa construir | Já vem pronto |
| API | Flask-RESTful | Django REST Framework |
| Ideal para | Microserviços, APIs | Apps grandes, monolitos |
### Microservices com Docker
- Cada serviço = container independente
- Docker Compose para orquestração local
- Testes: pytest + Docker (ambiente isolado)
- CI/CD: GitHub Actions + Docker Hub
## ✅ Progresso
- [x] Flask Mega-Tutorial (estudado)
- [ ] Django Girls Tutorial
- [ ] Django REST API
- [ ] Microservices com Docker
- [ ] Todo List TDD (Obey the Testing Goat)