Skip to content

Paulo-Carvalho-dev/fastapi

Repository files navigation

📘 FastAPI Course Overview

Welcome to the documentation for the complete FastAPI course by Eduardo Mendes. This guide provides a high-level overview of the course content, helping learners and developers understand the structure and key concepts covered throughout the series.

📺 Course Playlist: FastAPI by Eduardo Mendes


🚀 What is FastAPI?

FastAPI is a modern, high-performance web framework for building APIs with Python 3.7+ based on standard Python type hints. It is built on top of Starlette (for web handling) and Pydantic (for data validation).


📚 Course Structure

The course is divided into multiple lessons, each focusing on a specific aspect of FastAPI development:

1. Introduction to FastAPI

  • Overview of FastAPI features
  • Comparison with other frameworks (Flask, Django)

2. Environment Setup

  • Installing FastAPI and Uvicorn
  • Creating your first FastAPI app

3. Routing and Endpoints

  • Defining GET, POST, PUT, DELETE routes
  • Path and query parameters

4. Request Body and Data Models

  • Using Pydantic for request validation
  • Creating and using data models

5. CRUD Operations

  • Implementing basic Create, Read, Update, Delete logic
  • Handling data in-memory and with databases

6. Database Integration

  • Connecting to databases using SQLAlchemy
  • Creating models and sessions

7. Authentication and Authorization

  • Securing endpoints with OAuth2 and JWT
  • Role-based access control

8. Middleware and CORS

  • Adding custom middleware
  • Configuring CORS for frontend-backend communication

9. Testing FastAPI Applications

  • Writing unit and integration tests
  • Using pytest and HTTPX

10. Deployment

  • Deploying with Uvicorn and Gunicorn
  • Dockerizing FastAPI apps
  • Hosting on cloud platforms

🛠 Tools and Libraries Used

  • FastAPI: Main framework
  • Uvicorn: ASGI server
  • Pydantic: Data validation
  • SQLAlchemy: ORM for database operations
  • pytest: Testing framework
  • HTTPX: HTTP client for testing

📎 Additional Resources


🎯 Goal of the Course

By the end of the course, learners will be able to:

  • Build robust and scalable APIs using FastAPI
  • Integrate databases and perform CRUD operations
  • Secure applications with authentication
  • Write tests and deploy applications to production

Feel free to explore each section in detail and refer to the official documentation for deeper insights.

📘 Visão Geral do Curso FastAPI

Bem-vindo à documentação do curso completo de FastAPI ministrado por Eduardo Mendes. Este guia fornece uma visão geral do conteúdo do curso, ajudando estudantes e desenvolvedores a entenderem a estrutura e os principais conceitos abordados ao longo da série.

📺 Playlist do Curso: FastAPI por Eduardo Mendes


🚀 O que é FastAPI?

FastAPI é um framework moderno e de alto desempenho para construção de APIs com Python 3.7+, baseado em dicas de tipo padrão da linguagem. Ele é construído sobre o Starlette (para manipulação web) e Pydantic (para validação de dados).


📚 Estrutura do Curso

O curso está dividido em várias aulas, cada uma focando em um aspecto específico do desenvolvimento com FastAPI:

1. Introdução ao FastAPI

  • Visão geral das funcionalidades do FastAPI
  • Comparação com outros frameworks (Flask, Django)

2. Configuração do Ambiente

  • Instalação do FastAPI e Uvicorn
  • Criação do primeiro aplicativo FastAPI

3. Rotas e Endpoints

  • Definição de rotas GET, POST, PUT, DELETE
  • Parâmetros de caminho e de consulta

4. Corpo da Requisição e Modelos de Dados

  • Uso do Pydantic para validação de requisições
  • Criação e uso de modelos de dados

5. Operações CRUD

  • Implementação de lógica básica de Criar, Ler, Atualizar e Deletar
  • Manipulação de dados em memória e com banco de dados

6. Integração com Banco de Dados

  • Conexão com bancos de dados usando SQLAlchemy
  • Criação de modelos e sessões

7. Autenticação e Autorização

  • Proteção de endpoints com OAuth2 e JWT
  • Controle de acesso baseado em papéis

8. Middleware e CORS

  • Adição de middlewares personalizados
  • Configuração de CORS para comunicação entre frontend e backend

9. Testes de Aplicações FastAPI

  • Escrita de testes unitários e de integração
  • Uso de pytest e HTTPX

10. Deploy

  • Deploy com Uvicorn e Gunicorn
  • Dockerização de aplicações FastAPI
  • Hospedagem em plataformas de nuvem

🛠 Ferramentas e Bibliotecas Utilizadas

  • FastAPI: Framework principal
  • Uvicorn: Servidor ASGI
  • Pydantic: Validação de dados
  • SQLAlchemy: ORM para operações com banco de dados
  • pytest: Framework de testes
  • HTTPX: Cliente HTTP para testes

📎 Recursos Adicionais


🎯 Objetivo do Curso

Ao final do curso, os alunos serão capazes de:

  • Construir APIs robustas e escaláveis com FastAPI
  • Integrar bancos de dados e realizar operações CRUD
  • Proteger aplicações com autenticação
  • Escrever testes e realizar deploy em produção

Explore cada seção com atenção e consulte a documentação oficial para aprofundar seus conhecimentos.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors