Learn how to build a full-stack app with Anvil

In this tutorial, we’ll take a tour of Anvil and build a simple feedback form. We’ll start from a blank page, and build up to a web app with database storage, email functionality and deployed on the web - all in nothing but Python.

The final app will look something like this:

The techniques you’ll learn in this tutorial are fundamental to building any Anvil app, and mastering them will give you a good understanding of how Anvil works.

You don't need any prior experience with Anvil or web development to complete this tutorial.

All you'll need is a little bit of Python. If you’re new to Python, here are some resources to help you get started.


Chapters

In this tutorial, you'll:

Build your user interface

Build your UI using Anvil’s drag-and-drop editor.

Create your database

Use Data Tables to store feedback from your users.

Write server-side Python

Use a Server Module to write to the Data Table.

Write client-side Python

Write code to update the database when the submit button is clicked.

Send Emails

Make your app send you an email each time someone leaves feedback.

Optional: Challenge yourself

The best way to learn any new technology is to challenge your understanding. Why not challenge yourself to reinforce what you’ve learnt and learn more?

Click the following link to clone the finished app and explore it yourself, or read on as we take a step-by-step guide to building it yourself.

If you prefer a more theoretical approach to learning, you can dive straight into the documentation.