-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
Aula 3
Vamos colocar o chapéu do BACKEND, vamos codar uma versão inicial e nossa primeira funcionalidade
🐍 Requisitos
- Ter python (de preferência com PyEnv)
- Saber um pouco de pip e virtualenv
🚀 Objetivos principais
- Criar API para listar notícias: Criar a primeira funcionalidade de forma completa, ou seja, api, testes, banco de dados e fazer deploy.
- Conectar o frontend ao backend real e entender todas as peças
Assuntos & Tarefas
- Papo rápido sobre D-Jà vue e nossa formação fullstack
- Setup inicial do hackernews API (Flask)
- Vantagens de "API Design first"
- Alterar para Flask com OpenAPI (connexion)
- Teste de conexão com BD (PyTest)
- Subir um Postgres 13 (com Docker)
- Implementar conexão ao banco no Flask (SQLAlchemy)
- Teste da API
- Implementar API
- Teste do serviço de listar_noticias
- Criar tabela de notícias (Migrations com Alembic)
- Implementar listar notícias (SQLAlchemy)
- Definir como a notícia é serializada
- Rodar local e conectar com o frontend (desliga o Mock API)
- Rodar no ambiente DEV (Vercel + Heroku)
- Rodar em PROD (Digital Ocean)
🤔 FAQ
- Preciso de docker-compose? posso usar isto em PROD?
- E este CORS ai?
💣 Polêmicas
- Framework vs Microframework (Django vs Flask)
- Organização e estrutura de projetos para API Python
- Design first API vs Documentação quando sobrar tempo
🤔 Por que Flask? Por que não FastAPI?
- O objetivo não é ensinar Flask, nem focar em um framework específico, mas sim focar em APIs com Python, nas peças necessárias para nossa arquitetura
- Vamos promover um desacoplamento das camadas, logo, não é para ser difícil trocar a camada de API (Flask por FastAPI)
- Queremos apresentar uma estrutura pronta e testada em produção, com Flask já temos uma estrutura bem madura para isto
- Por último, mas não menos importante, Flask tem uma forma que facilita a implementação de Design First APIs
- Podemos falar mais disto aqui Afinal, qual stack vamos utilizar no Hackernews clone? #3
💁 Visão geral da arquitetura
- Não se assuste, é mais simples que parece
- Se fizer este desenho no Django vai ficar ainda mais complicado
- Entenda que são camadas para facilitar o separação de responsabilidades, deixar mais fácil de testar
💁 Visão geral dos ambiente (DEVOPS)
Vai dar para ver tudo isto em 2h?
Não! mas serão os assuntos para os próximos 2 ou 3 encontros...
Quer ficar LIGADO em tudo que vai rolar sobre Backend?
Dá um WATCH nos repos abaixo:
👉 FRONTEND https://github.com/confraria-devpro/hackernews-clone
👉 BACKEND https://github.com/confraria-devpro/hackernews-api
Links:
https://plataforma.dev.pro.br/42242-formacao-fullstack
https://github.com/confraria-devpro/hackernews-clone/discussions
Playlist REST API Riverfount
Quando?
👉 Todas as Quintas-feiras às 20h!
Próximo encontro, dia 21/10/2021
Sala do Zoom está em https://plataforma.dev.pro.br/42242-formacao-fullstack, salve na sua agenda!
serlus
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation

