77 lines
3.1 KiB
Markdown
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)
|