frappé framework - a full stack web framework

31
Frappé Framework Rushabh Mehta Founder, Frappé Technologies Pvt Ltd Linux Users Group Meeting Mumbai

Upload: rushabhmehta

Post on 22-Jan-2018

348 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Frappé Framework - A Full Stack Web Framework

Frappé FrameworkRushabh Mehta

Founder, Frappé Technologies Pvt Ltd

Linux Users Group Meeting Mumbai

Page 2: Frappé Framework - A Full Stack Web Framework

What is Frappé?Full stack web framework

Page 3: Frappé Framework - A Full Stack Web Framework

• Web App Framework (based on Werkzeug)

• MVC + ORM (object relational mapper)

• Sessions, Users, Roles, Permissions, Caching

• Rich, scriptable admin UI (Javascript)

• UI driven form and model builder

• Routing and templating (Jinja)

• Async and realtime (Node + socketio)

• Background workers (Python RQ)

• Multi-Tenant production deployment (supervisor, Nginx, Redis)

• Extensible architecture (pluggable apps)

Page 4: Frappé Framework - A Full Stack Web Framework

Traction• 70+ contributors

• 600+ stars on GitHub

• 5,000+ clones in a month

• 10,000 + commits

• 3000+ deployments

• 6000+ members on the forum

• 100+ apps

• 300+ service providers

Showcased: https://github.com/showcases/web-application-frameworks

Page 5: Frappé Framework - A Full Stack Web Framework

Why• Build an ERP System

• Small team (core team 4)

• 200+ tables

• Single deployments + Scalable cloud

• Extensible architecture (for customisations)

Page 6: Frappé Framework - A Full Stack Web Framework

Features

Page 7: Frappé Framework - A Full Stack Web Framework

Admin UI: Desktop

Page 8: Frappé Framework - A Full Stack Web Framework

List View

Page 9: Frappé Framework - A Full Stack Web Framework

Form Views

Page 10: Frappé Framework - A Full Stack Web Framework

Gantt Views

Page 11: Frappé Framework - A Full Stack Web Framework

Calendar View

Page 12: Frappé Framework - A Full Stack Web Framework

Kanban Views

Page 13: Frappé Framework - A Full Stack Web Framework

Modules and Notifications

Page 14: Frappé Framework - A Full Stack Web Framework

Universal Search

Page 15: Frappé Framework - A Full Stack Web Framework

Email documents

Page 16: Frappé Framework - A Full Stack Web Framework

File Attachments

Page 17: Frappé Framework - A Full Stack Web Framework

Print Views

Page 18: Frappé Framework - A Full Stack Web Framework

Web Views

Page 19: Frappé Framework - A Full Stack Web Framework

Reports

Page 20: Frappé Framework - A Full Stack Web Framework

Metadata Modeling

Page 21: Frappé Framework - A Full Stack Web Framework

Model Fields

Page 22: Frappé Framework - A Full Stack Web Framework

Role based Permissions

Page 23: Frappé Framework - A Full Stack Web Framework

Documentation Generator

Page 24: Frappé Framework - A Full Stack Web Framework

Tree Views and Nested Sets

Page 25: Frappé Framework - A Full Stack Web Framework

def add_customer(name, group): c = frappe.new_doc(“Customer”) c.customer_name = name c.customer_group = group c.insert()

def get_most_valued_customer(since): return frappe.get_all(“Sales Invoice”, filters = {“transaction_date”: (“>”, since)}, fields = [“customer”, “sum(grand_total) as total_income”], group_by = “customer”, order_by = “total_income desc”, limit = 1)[0].customer

Scripting API

Page 26: Frappé Framework - A Full Stack Web Framework

Extensible Apps

Page 27: Frappé Framework - A Full Stack Web Framework

Translation Portal

Page 28: Frappé Framework - A Full Stack Web Framework

Community Forum (ERPNext)

Page 29: Frappé Framework - A Full Stack Web Framework

Also includes…• REST API

• Bootstrap based responsive UI

• Workflows, Alerts

• XSS Filtering

• Database migrations (schema sync)

• Update tool (update and deployment tool)

• Package Manager

• Test Framework

• Ansible based deploy scripts

• Web Sockets frappe.publish_realtime(‘event’, ‘message’)

Page 30: Frappé Framework - A Full Stack Web Framework

Why use Frappé• Internal apps

• Admin tools

• Monitoring / MIS tools

• Portals

• Business Apps

Page 31: Frappé Framework - A Full Stack Web Framework

“Batteries Included”