
Full Stack Foundations
Summary
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.
Expected Learning
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.
Syllabus
Lesson 1 - Working with the CRUD
In the first lesson, you will learn about CRUD; Create, Read, Update, and Delete. You will learn why this acronym is important in web development and implement CRUD operations on a database. You will also learn to use an ORM (Object-Relational Mapping) as an alternative to SQL.
Lesson 2 - Making a Web Server
In the second lesson, you will build a web server from scratch using Python and some of the pre-installed libraries it includes. You will learn what GET and POST requests are and how we use them to retrieve and modify information on a web site. We will then use the concepts learned in Lesson 1 to add CRUD functionality to our website.
Lesson 3 - Developing with Frameworks
In the third lesson, we will discuss web frameworks like Django and Ruby on Rails. You will see how web frameworks simplify the development process and allow us to create web applications faster. We will use the Flask web framework to develop our own web application. We will also discuss API's (Application Programming Interfaces) and add JSON (JavaScript Object Notation) endpoints to our application to allow data to be sent in a format alternative to HTML.
Lesson 4 - Iterative Development
In the last lesson, you will build an entire web application on your own. You will learn about the iterative development process and how developing iteratively allows you to have a working prototype throughout all stages of the development process.
Required Knowledge
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.
Free
Intermediate
3 weeks
Lorenzo Brown
Amazon Web Services
Coursearena