Building an eBook Store on Frappe: Build & Learn!


In my opinion and experience, the best way to learn a piece of technology is to get your hands dirty with it. The more stuff you build with a Framework or tech stack, the better you get at it. Frappe Framework is no different.

In this spirit, I have been writing blogs/tutorials which put Frappe Framework to work, in a real-world scenario.

It started with integrating Frappe Framework with an external technology in the blogs:

Today, I am very excited to share with you the 3-part blog series on building an online eBook store on Frappe Framework.

What Are We Building?

In short, we will be building an online store (portal) to list and sell eBooks. During the process, we use a variety of concepts related to Frappe Framework and Web development in general. We start by building a beautiful storefront styled with BulmaCSS. Then we integrate the Razorpay payment gateway from scratch and implement a delivery mechanism for digital delivery of purchased eBooks via Email.

Then we move on to polish the storefront by implementing a success page (with confetti animation!) and making the routing more robust. We add interactivity to our website using AlpineJS and finally deploy it to Frappe Cloud.

Some Screenshots

Source Code

GitHub Repo Link


Here is a link to each one of blogs with Frappe Framework concepts covered next to them:

  1. The Storefront: DocTypes, Web Views, Portal Pages, Controller Methods, Integrating a CSS Framework and more.

  2. Payment & Delivery: More DocTypes, Integrating a Payment Gateway from scratch, using external Python packages, Whitelisted APIs, Webhooks, sending Emails (with attachments!), Ngrok and more.

  3. Interactivity & Deploy: More on file-based routing, patches, static assets, confetti animation, Query builder, AlpineJS, deployment to Frappe Cloud and more.

I hope you find the content useful! Keep learning!

Also, any kind of feedback is appreciated!