Skip to content

hjanday/fastapi-taskqueue

Repository files navigation

fastapi-taskqueue

A toy project designed to learn FastAPI, task queue basics, Docker, and Kubernetes.

Overview

This project is to learn exploring distributed system concepts and cloud-native architecture. I build a task queue system to demonstrate:

  • FastAPI - Building robust REST APIs
  • Task Queues - Understanding asynchronous background processing
  • Docker & Kubernetes - Containerization and orchestration mechanics

Quick Start

Prerequisites

  • Python 3.11+
  • uv package installer

Installation

  1. Clone the repository:
git clone https://github.com/hjanday/fastapi-taskqueue.git
cd fastapi-taskqueue
  1. Create a virtual environment and install dependencies:
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
make dev
  1. Copy the environment example:
cp .env.example .env

Running the API

Start the development server:

make run

The API will be available at http://localhost:8000

Development Commands

make help       # Show all available commands
make lint       # Run code linter
make format     # Format code
make typecheck  # Run type checker
make test       # Run tests
make test-cov   # Run tests with coverage report
make clean      # Clean up cache files

Project Structure

.
├── apps/
│   ├── api/           # FastAPI control plane
│   └── worker/        # Task worker (coming soon)
├── infra/
│   └── k8s/           # Kubernetes manifests (coming soon)
├── docs/              # Documentation
├── tests/             # Test suite
├── pyproject.toml     # Project configuration
├── Makefile           # Common development commands
└── .env.example       # Environment variables template

Documentation

Testing

Run the test suite:

make test

Run with coverage:

make test-cov

About

fastapi + aws + docker/k8s built task queue

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published