An open API service indexing awesome lists of open source software.

https://github.com/davidjnevin/tdd-fastapi

A Test Driven Development Project using FastApi, Docker, Pytest and Tortoise ORM
https://github.com/davidjnevin/tdd-fastapi

Last synced: 3 months ago
JSON representation

A Test Driven Development Project using FastApi, Docker, Pytest and Tortoise ORM

Awesome Lists containing this project

README

        

# Test-Driven Development with FastAPI and Docker

![Continuous Integration](https://github.com/davidjnevin/tdd-fastapi/actions/workflows/main.yml/badge.svg?branch=main)

## Project Overview

- An asynchronous RESTful API with Python and FastAPI
- Using Test-Driven Development
- Testng app with pytest
- Interacts with a Postgres database asynchronously
- Containerizes FastAPI and Postgres inside a Docker container
- Runs unit and integration tests with code coverage inside a Docker container
- Checks code for any code quality issues via a linter
- Configures GitHub Actions for continuous integration
- Uses GitHub Packages to store Docker Images
- Speeds up a Docker-based CI build with Docker Cache
- Parameterizes test functions and mock functionality in tests with pytest
- Runs tests in parallel with pytest-xdist
- Documents a RESTful API with Swagger/OpenAPI
- Runs a background process outside the request/response flow

## Technologies

- FastAPI
- Tortoise ORM
- NLTK
- Docker
- Github Actions
- Pytest
- Makefile

This project was built using the [Test-Driven Development with FastAPI and Docker](https://testdriven.io/courses/tdd-fastapi/) course.