Mastering Frappe Framework – Part 1: Introduction to Frappe Framework

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?

  1. Rapid Development – Define your data model (DocTypes) and instantly get forms, list views, and APIs.
  2. Built-In Admin UI – No need to spend time coding an admin panel; it’s already there.
  3. Open Source & Community-Driven – Free to use with a growing global developer community.
  4. Perfect for SaaS – Multi-tenancy support makes it ideal for subscription-based apps.
  5. ERPNext Ecosystem – If you need ERP features later, you can integrate ERPNext modules instantly.

Frappe Framework vs. Other Frameworks

FeatureFrappe FrameworkDjango / Laravel
Admin PanelBuilt-inNeeds packages
REST APIBuilt-inNeeds setup
Role & PermissionBuilt-inNeeds setup
Report BuilderBuilt-inNot default
Real-Time UpdatesBuilt-inNeeds 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.

Leave a Reply