Skip to content

This article will teach you how to create a CRUD RESTful API with Python, FastAPI, SQLAlchemy ORM, Pydantic, Alembic, PostgreSQL, and Docker-compose to perform the basic Create/Read/Update/Delete operations against a database.

wpcodevo/python_fastapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RESTful API with Python, FastAPI, Pydantic, SQLAlchemy and Docker

1. RESTful API with Python,SQLAlchemy, & FastAPI: Access and Refresh Tokens

In this article, you'll learn how to secure a FastAPI app by implementing access and refresh token functionalities using JSON Web Tokens (JWTs). We'll use the FastAPI JWT Auth package to sign, encode and decode the access and refresh JWT tokens.

RESTful API with Python,SQLAlchemy, & FastAPI: Access and Refresh Tokens

Topics Covered

  • Python FastAPI JWT Authentication Overview
  • How to Setup FastAPI with PostgreSQL
    • Setup FastAPI
    • Initialize a Simple FastAPI Server
  • Setting up Environment Variables in FastAPI
  • Connect to the PostgreSQL Docker Container
  • Installing the UUID OSSP PostgreSQL Extension
  • Create Database Models with SQLAlchemy in FastAPI
  • Creating Schemas with Pydantic in FastAPI
  • Password Management with Bcrypt
  • Configure the FastAPI JWT Auth Extension
  • Creating the Authentication Controllers
    • User Registration Controller
    • User Sign-in Controller
    • Refresh Access Token Controller
    • Logout User Controller
  • How to add Protected Routes
  • Create a User Controller
  • Adding the Routes to FastAPI Middleware Pipeline
  • Database Migration with Alembic
  • Testing the FastAPI JSON Web Token API

Read the entire article here: https://codevoweb.com/restful-api-with-python-fastapi-access-and-refresh-tokens

2. RESTful API with Python, SQLAlchemy, & FastAPI: Send HTML Emails

In this article, you'll learn how to send HTML emails with Python, FastAPI, SQLAlchemy, PostgreSQL, Jinja2, and Docker-compose. Also, you'll learn how to dynamically generate HTML templates with the Jinja2 package.

RESTful API with Python, SQLAlchemy, & FastAPI: Send HTML Emails

Topics Covered

  • Send HTML Email with jinja2 and FastAPI Overview
  • Creating an SMTP Provider Account
  • Validating the Environment Variables with Pydantic
  • Create a Database Model with Sqlalchemy
  • Creating the HTML Email Templates with Jinja2
  • Set up SMTP Email Sender
  • How to Send the HTML Email
  • Update the SignUp Path Operation Function
  • Create a Controller to Verify the Code

Read the entire article here: https://codevoweb.com/restful-api-with-python-fastapi-send-html-emails

3. CRUD RESTful API Server with Python, SQLAlchemy, FastAPI, and PostgreSQL

This article will teach you how to create a CRUD RESTful API with Python, FastAPI, SQLAlchemy ORM, Pydantic, Alembic, PostgreSQL, and Docker-compose to perform the basic Create/Read/Update/Delete operations against a database.

CRUD RESTful API Server with Python, SQLAlchemy, FastAPI, and PostgreSQL

Topics Covered

  • Python, FastAPI, PostgreSQL, SQLAlchemy CRUD API Overview
  • Setting up FastAPI and PostgreSQL
    • Building the FastAPI Server
    • Starting the FastAPI Server
  • Setting up Environment Variables in FastAPI
  • Connecting to the PostgreSQL Server
  • Installing the UUID OSSP PostgreSQL Plugin
  • How to Create Database Models with SQLAlchemy
  • Creating Validation Schemas with Pydantic
  • Creating the FastAPI Route Handlers
    • Fetch All Posts Handler
    • Create New Post Handler
    • Update Post Handler
    • Get a Single Post Handler
    • Remove Post Handler
  • Add the Routes to the FastAPI Middleware Stack

Read the entire article here: https://codevoweb.com/crud-restful-api-server-with-python-fastapi-and-postgresql

About

This article will teach you how to create a CRUD RESTful API with Python, FastAPI, SQLAlchemy ORM, Pydantic, Alembic, PostgreSQL, and Docker-compose to perform the basic Create/Read/Update/Delete operations against a database.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published