Skip to content

dan-metzler/fastapi-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 FastAPI Starter Setup Script

This repository provides a script that automates the setup of a modern FastAPI web application with the following stack:

  • FastAPI – High-performance Python web framework
  • Jinja2 – Templating engine for server-rendered HTML
  • Tailwind CSS – Utility-first CSS framework
  • Flowbite – Tailwind UI components
  • HTMX – Modern HTML-over-the-wire interactivity
  • Supabase – Authentication, database, and storage backend
  • Alpine.js – Lightweight JavaScript framework

Perfect for building scalable, full-stack web apps quickly with a clean developer experience.


✅ TODO / In Progress

  • Add "uv" instead of "pip" for dependency management
  • Add Authentication from supabase
  • Add User and Admin authorization with routes
  • Rate Limiting auth routes
  • SMTP Email Functionality

📦 Features

  • 🔧 One-command setup for project scaffolding
  • ⚡ FastAPI backend with Jinja2 templating out of the box
  • 🎨 Tailwind + Flowbite integration for styling and UI components
  • 🔄 HTMX for dynamic interactivity without heavy JavaScript
  • 🛠 Supabase client configured for database + auth
  • 🪶 Alpine.js for lightweight frontend state management

🚀 Getting Started

1. Install pipx

pip install pipx

If installing from PyPI, we recommend installing uv into an isolated environment, e.g., with pipx

2. Installing UV package manager

pipx install uv

2. Verify UV installation

uv

if you run into error [The term 'uv' is not recognized as a name of a cmdlet, function, script file, or executable program.] run pipx list to see where uv is installed and add the folder path to system evironment variables. Then, open a new terminal (or restart VS Code) and try again.

3. Clone the repo

git clone https://github.com/your-username/fastapi-starter-setup.git
cd fastapi-starter-setup

4. Create a project

python create_project.py <new_project_folderpath> <project_name>


# Example :
python .\create_project.py "C:\Users\User\Desktop\my-new-project" "AppNameExample"

5. Open the project folder

cd C:\Users\User\Desktop\my-new-project

6. Open two terminals in the following path

C:\Users\User\Desktop\my-new-project\AppNameExample

# run fastapi command in one
uvicorn main:app --reload

# run tailwind in the other
npm run dev

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages