Frappe Framework
Full stack, metadata driven web framework built on Python and Javascript, with a rich admin UI
Technology Stack
Frappe comes bundled with an opinionated set of libraries. Here is a non exhaustive set.
- Programming Languages: Python + Javascript
- Databases Supported: MariaDB (MySQL)
- Webserver: Werkzeug
- Templating: Jinja
- Job Queues: Python RQ
- CSS Framework: Bootstrap 3
- Caching: Redis
- Realtime: NodeJS + Socketio.js
- Javascript Packaging: Rollup
- Webserver (Production): gunicorn + NGINX
- Process Manager (Production): supervisord
- Process Manager (Develop): Honcho
- Command Line: Bench
Batteries Included
Metadata First
Everything in Frappe is a DocType. DocTypes can be defined easily without code used everywhere.
Admin User Interface
Frappe comes with a rich single page application (SPA) with built in forms, list, search and navigation.
Roles and Permissions
You define user roles and permissions that are applied out of the box on all interactions.
Extensible
With a modular architecture, you can create your own apps that can be extended by other apps.
REST API + Webhooks
Frappe is integration friendly and comes with REST API and Webhooks on all models based on authentication.
Job Scheduler
You can configure background workers and run periodic tasks powered by Python RQ.
Socket.io
Frappe comes with first class socket.io support based on NodeJS and using Redis pub-sub.
Email Setup
Send, recieve, view and manage emails easily using SMTP and IMAP based email accounts.
Multi-tenant
Database driven multi-tenant architecture easily lets you host multiple sites on a single server.
Documentation
License: MIT