Skip to content

Full Stack Foundations

Free Course

Build a data-driven web app with Python

Related Nanodegree Program

Introduction to Programming

In collaboration with
  • Amazon Web Services

About this course

In this course you will learn the fundamentals of back-end web development! You will create your own web application that queries a database for items on restaurant menus and then dynamically generates complete menus in the form of web pages and API endpoints.

You’ll start by learning how to interact with a database from a web application using an Object-Relational Mapping (ORM) layer. From there, you’ll learn how GET and POST requests translate to CRUD operations. You’ll then explore the Flask framework and the various ways in which it can speed up the development of your applications. Finally, you’ll develop your very own web application from the ground up using the iterative development process.

What you will learn

  1. Working with the CRUD
    • Learn about CRUD; Create, Read, Update, and Delete.
    • Implement CRUD operations on a database.
    • Use an ORM (Object-Relational Mapping) as an alternative to SQL.
  2. Making a Web Server
    • Build a web server from scratch using Python and some pre-installed libraries.
    • Learn how GET and POST requests can retrieve and modify information on a web site.
    • How to add CRUD functionality to our website.
  3. Developing with Frameworks
    • Introduction to web frameworks like Django and Ruby on Rails.
    • Use the Flask web framework to develop our own web application.
    • Introduction to APIs and how to add JSON endpoints to our application.
  4. Iterative Development
    • Build an entire web application on your own.
    • Learn about the iterative development process.
    • Have a working prototype throughout all stages of the development process.

Prerequisites and requirements

You should be comfortable with Python, including Object-Oriented Programming. If you’d like to brush up on your Python, try the first three lessons of our Intro to Computer Science course. For Object-Oriented Programming in Python, see Programming Foundations with Python.

You should also have a firm understanding of SQL and working with a relational database, particularly PostgreSQL. Our Intro to Relational Databases course can get you started if you feel you’re not yet prepared.

Finally, you should be able to read and write HTML and CSS without any guidance. If you need a refresher on HTML and CSS, start with our Intro to HTML and CSS course.

To complete the final project for this course, it is critical you meet these prerequisites as you are given no assets to begin with and will truly build a complete web application from scratch.

See the Technology Requirements for using Udacity.

Why take this course?

Interacting with a persistent datastore is what transforms static web pages into powerful and effective web applications. Giving users the ability to create, read, update and delete data is the backbone of the most popular services on the Internet today. But, you must do so safely and securely - the smallest mistake could bring your application down or leak your user’s data.

In this course, you’ll discover how all of the major components of web applications work and best practices in developing secure, data-driven web applications.

Learn with the best.

  • Lorenzo Brown
    Lorenzo Brown