Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Flask SaaS Starter Kit

A ready-to-deploy boilerplate for building micro-SaaS products with Python.

What's included

  • SQLite WAL mode — fast, zero-config database with concurrent reads
  • User auth — register/login/logout with SHA-256 password hashing
  • API keys — auto-generated per user for programmatic access
  • Per-tier rate limiting — free (10/h), pro (100/h), unlimited
  • Stripe-ready — checkout integration skeleton included
  • systemd deploy — no Docker, no gunicorn, just systemctl start myapp
  • Admin dashboard skeleton — user management, metrics

Quick start

# 1. Clone
git clone https://github.com/clementslowik/flask-saas-starter.git
cd flask-saas-starter

# 2. Run
python3 app.py

# 3. Open http://localhost:5000

# 4. Deploy to production
cp systemd/myapp.service /etc/systemd/system/
systemctl enable --now myapp

Structure

├── app.py              # Main application (single file, ~200 lines)
├── data.db             # SQLite database (auto-created)
├── systemd/
│   └── myapp.service   # systemd unit file
└── README.md

API

# Register
curl -X POST http://localhost:5000/register \
  -d "email=me@example.com&password=secret123"

# Get your API key from /dashboard

# Use the API
curl http://localhost:5000/api/example \
  -H "X-API-Key: sk_your_key_here"

Customize

  1. Add your own routes in app.py
  2. Add tables to init_db()
  3. Set SECRET_KEY environment variable
  4. Add Stripe keys for billing

Stack

  • Python 3.12+
  • Flask
  • SQLite (WAL mode)
  • systemd
  • No external dependencies beyond Flask

License

MIT — use it for anything.


Part of the foxyyy ecosystem.

About

Ready-to-deploy Flask boilerplate: auth, API keys, rate limiting, Stripe billing, SQLite WAL, systemd deploy. One file, zero config.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages