Skip to content

Full stack, modern web application generator. Using FastAPI, MySQL as database, Docker, automatic HTTPS and more.

License

Notifications You must be signed in to change notification settings

vuongtlt13/full-stack-fastapi-mysql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Full Stack FastAPI Template

Note: This project based on the project https://github.com/fastapi/full-stack-fastapi-template, but use MySQL instead PostgreSQL

Development

1. Start infra

  • In backend folder, run command
    make start-infra

2. Start Backend

  • In backend folder, setup .venv using uv
  • run alembic for creating migration file by using command
    make migration-generate initialize_models
  • Apply the migration and seed for initial user
  make migrate-up && make db-seed
  • Start fastapi application
    fastapi dev app/main.py

3. Start Frontend

  • In frontend folder, install dependencies
    npm install
  • Run frontend app
    npm run dev

Technology Stack and Features

  • FastAPI for the Python backend API.
    • 🧰 SQLModel for the Python SQL database interactions (ORM).
    • 🔍 Pydantic, used by FastAPI, for the data validation and settings management.
    • 💾 MySQL as the SQL database.
  • 🚀 React for the frontend.
    • 💃 Using TypeScript, hooks, Vite, and other parts of a modern frontend stack.
    • 🎨 Chakra UI for the frontend components.
    • 🤖 An automatically generated frontend client.
    • 🧪 Playwright for End-to-End testing.
    • 🦇 Dark mode support.
  • 🐋 Docker Compose for development and production.
  • 🔒 Secure password hashing by default.
  • 🔑 JWT (JSON Web Token) authentication.
  • 📫 Email based password recovery.
  • ✅ Tests with Pytest.
  • 📞 Traefik as a reverse proxy / load balancer.
  • 🚢 Deployment instructions using Docker Compose, including how to set up a frontend Traefik proxy to handle automatic HTTPS certificates.
  • 🏭 CI (continuous integration) and CD (continuous deployment) based on GitHub Actions.

Dashboard Login

API docs

Dashboard - Admin

API docs

Dashboard - Create User

API docs

Dashboard - Items

API docs

Dashboard - User Settings

API docs

Dashboard - Dark Mode

API docs

Interactive API Documentation

API docs

License

The Full Stack FastAPI Template is licensed under the terms of the MIT license.

About

Full stack, modern web application generator. Using FastAPI, MySQL as database, Docker, automatic HTTPS and more.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 18