Frappe Framework is a web framework that is used to build the ERPNext. This framework is found by accident when the deadline of a project is not negotiable. Long story short, I ended up trying it in our software development for the project.
At first, the setup is super hard, since my team is not familiar with python programming and we try to adapt this new language and we took 5 months to be able to develop fluently in python.The hardship does not end there, we are now trying to learn a new business context that is “accounting”.
We came from different backgrounds of business context and some of us just graduated with zero experience that adds up more complexity to the team.After a lot of re-skilling by undergone training, we are now can move forward to develop the system.
There is now easy way to bring other people together with you. It’s hard.
So what frappe is, it is a framework developed by frappe Pvt. Ltd. based in India and has successfully developed ERPNext using the same framework. The development is rapid. By implementing the concept of low code, the developer can now focus on business problems rather than to tackle everything from scratch such as Table Design, UI/UX design, Security, and so on. you name it.
I have been developing software for the past 11 years and its a super tiring process and now the landscape of software development has changed so I think I should change too.
For the record, I am a fan of “clean code” popularised by Uncle Bob. But I started to think about it when I stuck with the team that has no experience with that kind of OO concept and with a super tight deadline
In my opinion, clean code is better. Actually I have successfully implemented it in my .net project for the past 5 years, but for my context now, I think, I should find another way of doing it, that’s how I ended up with Frappe Framework.
What Frappe Framework offers,
Batteries are included
Frappe ships with essential modules that are required to build any serious business application
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.
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.
You can configure background workers and run periodic tasks powered by Python RQ.
Frappe comes with first class socket.io support based on NodeJS and using Redis pub-sub.
Send, receive, view and manage emails easily using SMTP and IMAP based email accounts.
Database driven multi-tenant architecture easily lets you host multiple sites on a single server.
All of these are come for free. As for now, I am happy with Frappe Framework.