A CLI tool to scaffold full-stack projects with FastAPI backend and React Vite frontend
Project description
๐ FastAPI Full Stack Launch
A powerful CLI tool to scaffold production-ready full-stack projects with FastAPI backend and React + Vite + TypeScript frontend.
โจ Features
-
๐ Full-Stack Project Structure - Backend, frontend, and API proxy in one command
-
โก Fast Setup - Uses
uvfor lightning-fast Python package management -
โ๏ธ Modern Frontend - React 18 + TypeScript + Vite
-
๐ Production Backend - FastAPI with proper project structure
-
๐ง Pre-configured Components:
- Backend (FastAPI):
- RESTful API Router (v1)
- CORS configured for frontend
- Environment config with python-dotenv
- SQLAlchemy + MySQL Database Setup
- Testing Framework
- Frontend (React + Vite):
- TypeScript configured
- ESLint setup
- Hot Module Replacement
- Backend (FastAPI):
๐ Prerequisites
| Requirement | Version | Installation |
|---|---|---|
| Python | 3.8+ | python.org |
| Node.js | 18+ | nodejs.org |
| uv | Latest | See Installing uv |
๐ฆ Installation
Windows:
pip install fastapi-full-stack-launch
macOS / Linux:
pip3 install fastapi-full-stack-launch
๐ ๏ธ Usage
Create a new full-stack project:
fastapi-full-stack-launch project <project_name>
Example:
fastapi-full-stack-launch project my-awesome-app
This generates a complete project structure:
my-awesome-app/
โโโ .venv/ # Python virtual environment
โโโ backend/ # Backend (FastAPI)
โ โโโ app/
โ โโโ api/v1/
โ โ โโโ router.py
โ โโโ core/
โ โ โโโ config.py
โ โ โโโ logging.py
โ โโโ db/
โ โ โโโ database.py
โ โโโ models/
โ โโโ schemas/
โ โโโ services/
โ โโโ tests/
โ โโโ utils/
โ โโโ main.py
โโโ frontend/ # Frontend (React + Vite + TypeScript)
โ โโโ src/
โ โโโ public/
โ โโโ package.json
โ โโโ vite.config.ts
โ โโโ tsconfig.json
โ โโโ index.html
โโโ .env # Environment configuration
โโโ .gitignore
โโโ pyproject.toml
โโโ README.md
๐ Quick Start
After creating your project:
Start the Backend:
macOS / Linux:
cd my-awesome-app
source .venv/bin/activate
cd backend
uvicorn app.main:app --reload
Windows:
cd my-awesome-app
.venv\Scripts\activate
cd backend
uvicorn app.main:app --reload
Backend runs at: http://localhost:8000
API Docs: http://localhost:8000/docs
Start the Frontend:
cd my-awesome-app/frontend
npm run dev
Frontend runs at: http://localhost:5173
โ๏ธ Environment Configuration
The .env file in your project root contains:
FASTAPI_APP_URL=http://localhost:8000
DATABASE_URL=mysql+pymysql://root:password@localhost:3306/my-awesome-app_db
FRONTEND_URL=http://localhost:5173
๐ฅ Installing uv
uv is required for backend scaffolding. Install it using:
macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (PowerShell):
irm https://astral.sh/uv/install.ps1 | iex
๐ License
MIT License - see LICENSE for details.
Made with โค๏ธ by Krishi Devani
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fastapi_full_stack_launch-1.1.0.tar.gz.
File metadata
- Download URL: fastapi_full_stack_launch-1.1.0.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25b62922fafb67bf29b153c6eb4c4cdf1875aa5f626a249e82b35fb1d0927448
|
|
| MD5 |
393e43e6d30f1b98c51a7952edd8ae19
|
|
| BLAKE2b-256 |
7880821aaf34ffe5647fe60cdc14b45b6e119c497e7f23a582369510001b33ce
|
File details
Details for the file fastapi_full_stack_launch-1.1.0-py3-none-any.whl.
File metadata
- Download URL: fastapi_full_stack_launch-1.1.0-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42e4601e4cc1b7d1b2374fd70016eb78f25c00b935cc8c22a7aa7e05f3eb1bf3
|
|
| MD5 |
8039a3122d42df1204e3f8d21c64017e
|
|
| BLAKE2b-256 |
4fdb6145ccd344445f8d72446c0a3e1a0f200e019d304dda3eb241b62d0cb6cc
|