Backend Builder is a robust, visual development platform designed to accelerate backend creation. It allows developers to design complex database schemas, define relationships visually, and instantly generate production-grade FastAPI applications without writing boilerplate code.
Stop writing boilerplate. Focus on your business logic while the Builder handles the architecture, security, and deployment configuration.
Building a modern backend involves setting up the same foundational elements every time: authentication, database connections, Pydantic schemas, CRUD routers, and Docker configs. Builder automates this entire process.
- ⏱️ Save Time: Go from Zero to Deployed API in minutes.
- 🔒 Secure by Default: Generated apps come with industry-standard JWT authentication and password hashing (Argon2/PBKDF2).
- 🏗️ Best Practices: The generated code follows strict FastAPI patterns, dependency injection, and Pydantic v2 validation.
- 🐳 DevOps Ready: Every project includes a unified
docker-composesetup for instant deployment.
- Infinite Canvas: Drag and drop model cards freely.
- Visual Relationships: Connect models (e.g.,
User➝Post) using an intuitive link tool. - Smart Layouts: Automatic grid snapping and collision detection for a clean workspace.
The builder understands complex data structures:
- One-to-Many: (e.g., An Author has many Books). Automatically adds Foreign Keys.
- Many-to-One: (e.g., A Comment belongs to a Post).
- Auto-Foreign Keys: You don't need to manually define
user_idcolumns; the builder does it for you when you link models.
Define access levels per model and per operation (Create, Read, Update, Delete):
- Public: Open to everyone.
- Auth: Requires a valid JWT token.
- Admin: Restricted to Super Users only.
When you click Download, you receive a zip file containing a standalone project with:
- FastAPI: The modern, high-performance web framework.
- SQLAlchemy (Async): Asynchronous database ORM.
- SQLAdmin: A built-in, operational Admin Dashboard for your data.
- Alembic Ready: Structured for database migrations.
- Authentication System:
login,register, andmeendpoints pre-wired.
The platform consists of two main parts:
-
The Builder (Local Tool):
- Runs locally on your machine.
- Stores project schemas in
SQLite. - Generates dynamic Python code using Jinja2-style templating logic.
- Frontend: Vanilla JS + Glassmorphism CSS (No heavy node_modules needed to run the builder UI).
-
The Generated App (Your Product):
- A clean, separated folder structure (
app/models,app/routers,app/schemas). - No dependency on the Builder: Once downloaded, the code is yours. You can edit it, push it to GitHub, and deploy it anywhere.
- A clean, separated folder structure (
- Python 3.8+
- [Optional] Docker (for running generated projects)
-
Clone the Repository
git clone https://github.com/imabd645/Backend-builder.git
-
Create a Virtual Environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Run the Builder
python -m uvicorn app.main:app --reload
-
Access the UI Open your browser and navigate to:
http://127.0.0.1:8000/static/index.html
- Create a Project: Click "New Project" on the dashboard.
- Design Schema:
- Add Models: Click "+ Add Model" to create tables (e.g.,
User,Post). - Add Fields: Define columns like
title(String),is_published(Boolean). - Connect: Click the 🔗 icon on a Source card, then click a Target card to link them.
- Add Models: Click "+ Add Model" to create tables (e.g.,
- Configure API: Toggle
Public,Auth(User only), orAdminaccess for each CRUD operation. - Download: Click Download Code to get a
.zipof your backend. - Run Your Backend:
Or use Docker:
# Inside the downloaded folder pip install -r requirements.txt python run.pydocker-compose up -d --build
- Admin Panel:
Access
/adminon your generated app (e.g.,http://localhost:5000/admin) to manage your data immediately.
app/
│ ├── main.py # Builder API Entrypoint
│ ├── generator/ # Code Generation Engine
│ │ ├── main_gen.py
│ │ ├── models_gen.py # SQLAlchemy Code Gen
│ │ ├── ...
│ └── routers/ # Project Management API
├── static/ # Frontend UI
│ ├── js/ # Logic (builder.js, diagram.js)
│ ├── css/ # Styling (style.css)
│ └── ...
└── projects/ # Local storage for user projects
Distributed under the MIT License. See LICENSE for more information.