Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Frappe framework
1. Frappé Framework
ISCTE MOSS - Introducao ao Software de Codigo Aberto
Prof: Carlos J. Costa – Aluno: Jose Miguel Sardinha
2. What is Frappé?
● Frappé is a full stack web application framework written in Python, Javascript,
HTML/CSS with MySQL as the backend. It was built for ERPNext but is pretty generic
and can be used to build database driven apps.
● The key difference in Frappé compared to other frameworks is that Frappé is that
meta-data is also treated as data and is used to build front-ends very easily. Frappé
comes with a full blown admin UI called the Desk that handles forms, navigation, lists,
menus, permissions, file attachment and much more out of the box.
● Frappé also has a plug-in architecture that can be used to build plugins to ERPNext.
● Frappé Framework was designed to build ERPNext, open source ERP for managing
small and medium sized businesses.
4. Why Frappe?
Rushabh Mehta is the creator of the Frappe Framework and founder at Frappe Technologies, the publisher of ERPNext
●
Why use Frappe?
Frappe is the underlying framework for ERPNext (one of the top open source ERP systems). Open Source Enterprise systems are on the
growth and there is a great opportunity for companies either looking to build in-house systems or building practices that help other
businesses. ERP is a core business stack along with Email and the next frontier for service providers in open source. There are already a lot
of businesses that are looking for developers familiar with Frappe.
Frappe framework provides an architecture that allows you to build production-ready apps in very quickly.
●
Why another framework?
Unlike Python frameworks which are mostly server-side, Frappe has a rich AJAX based client library and also supports socketio. The biggest
advantage of Frappe is the number of UI features that are available out of the box.
Also I started writing Frappe in 2006 when the only other choice was Zope!
Frappe Framework is "Made in India" licensed as MIT, used to built ERPNext, a popular open source ERP application.
Frappe is listed on GitHub showcase of web application framework and is backed by a community of more than 3000 users.
5. Before You Start
1. Python - Frappé uses Python (v2.7) for server-side programming to write quality server-side code, you
must also include automated tests.
2. MariaDB / MySQL - To create database-driven apps with Frappé, you must understand the basics of
database management, like how to install, login, create new databases, and basic SQL queries.
3. HTML / CSS - If you want to build user interfaces using Frappé, you will need to learn basic HTML / CSS
and the Boostrap CSS Framework.
4. JavaScript and jQuery - To customize forms and create rich user interfaces, you should learn JavaScript
and the popular library jQuery.
5. Jinja Templating - If you are customizing Print templates or Web pages, you need to learn the Jinja
Templating language. It is an easy way to create dynamic web pages (HTML).
6. Git and GitHub - Learn how to contribute back to an open source project using Git and GitHub, two great
tools to help you manage your code and share it with others.
6. Installing the Frappé Bench
Easiest way to setup frappe on a Unix Like system is to use
frappe-bench.
The bench is a command-line utility that helps you to install
apps, manage multiple sites and update Frappe / ERPNext
apps on */nix (CentOS 6, Debian 7, Ubuntu, etc) for
development and production. Bench will also create nginx and
supervisor config files, setup backups and much more.
● Two ways of install:
– Manual Install
– Easy Install (to be explained)
7. Easy Install
● Best to setup on a blank server.
● Works on Ubuntu 14.04 to 16.04, CentOS 7+,
Debian 7 to 8 and MacOS X.
● You may have to install Python 2.7 (eg on Ubuntu
16.04+) by running apt-get install python-minimal
● You may also have to install build-essential and
python-setuptools by running apt-get install build-
essential python-setuptools
9. SWOT Analysis
● Strenghts
● Open Source
● Integration with ERP Next
● Weaknesses
● Not to be used outside
ERPNext
● Threats
● Product imitation
● Dependent on ERPNext
dissemination
● Oportunities
● Create customized solutions
●
API integration