What is the Frappe Framework?
The Frappe Framework is a full-stack, open-source web application framework built with Python and JavaScript. It’s the underlying technology that powers ERPNext, but it’s not limited to ERP systems — you can build any kind of web app, from small tools to large-scale SaaS platforms.
Unlike many frameworks, Frappe comes with everything you need out of the box:
- Backend (Python, MariaDB, Redis)
- Frontend (JavaScript, Jinja templating)
- REST API
- Authentication & Role-Based Access
- Report Builder & Dashboards
- Real-Time Notifications
It’s like Django + React + Admin Panel + API + User Management, all pre-integrated.
Why Choose Frappe?
- Rapid Development – Define your data model (DocTypes) and instantly get forms, list views, and APIs.
- Built-In Admin UI – No need to spend time coding an admin panel; it’s already there.
- Open Source & Community-Driven – Free to use with a growing global developer community.
- Perfect for SaaS – Multi-tenancy support makes it ideal for subscription-based apps.
- ERPNext Ecosystem – If you need ERP features later, you can integrate ERPNext modules instantly.
Frappe Framework vs. Other Frameworks
Feature | Frappe Framework | Django / Laravel |
---|---|---|
Admin Panel | Built-in | Needs packages |
REST API | Built-in | Needs setup |
Role & Permission | Built-in | Needs setup |
Report Builder | Built-in | Not default |
Real-Time Updates | Built-in | Needs extra setup |
In short: With Frappe, you start building business logic from Day 1 instead of wiring together authentication, admin panels, and APIs.
Installing Frappe Framework (Local Setup)
To get started, you’ll need:
- Python 3.10+
- Node.js 18+
- Redis
- MariaDB 10.6+
- Yarn
Step 1: Install Bench CLI
Bench is the command-line tool for managing Frappe apps and sites.
pip install frappe-bench
Step 2: Create a New Bench
bench init my-bench --frappe-branch version-15
cd my-bench
Step 3: Start a New Site
bench new-site mysite.local
Step 4: Run the Development Server
bench start
Your new Frappe site will be available at http://localhost:8000.
Understanding Frappe’s Core Concept: DocTypes
In Frappe, DocTypes are the heart of your application.
A DocType is both:
- A database table (MariaDB)
- A UI form (auto-generated in the admin panel)
For example:
- Customer DocType → Table with fields (Name, Email, Phone) + Form UI for entering data.
- API endpoints for CRUD are generated automatically.
What’s Next?
In Part 2, we’ll deep dive into Frappe Architecture:
- How DocTypes, scripts, and APIs connect
- Server & client-side events
- The request lifecycle in Frappe
Pro Tip: Even if you’ve never used Python web frameworks before, Frappe lets you build production-ready apps in weeks, not months.