Frappe
Define a DocType in Frappe and the framework automatically generates database tables, Python ORM classes, REST API endpoints, form views, list views, and role-based permission rules from that single schema definition. The meta-driven architecture stores schemas as database records, letting administrators add fields, reorder layouts, and modify validation rules through the browser-based Form Builder without redeployment. Server-side Python controllers handle business logic through hook-based lifecycle events while client-side JavaScript manages interactive form behavior, with WebSocket connections providing real-time updates across sessions. The built-in workflow engine defines document state machines with role-gated transitions, email notifications, and conditional action visibility. Pre-configured Desk views include list, form, report, tree, kanban, calendar, and dashboard layouts with drag-and-drop workspace customization. The report builder generates grid reports with configurable columns, filters, grouping, and chart visualizations from DocType data or custom SQL and Python scripts. Background job processing uses Redis queues for email delivery, data imports, and periodic tasks. Virtual DocTypes connect external databases to the framework's UI without data migration. Docker deployment via frappe_docker provides production-ready Compose configurations with MariaDB, Redis, Nginx, and worker containers. The foundation powering ERPNext, HRMS, CRM, and Helpdesk in production. Over 10,500 GitHub stars. MIT licensed.
Deploy