When students complete Professional Web App Development, they will be able to:
- Create full-stack web applications using the Flask web development framework and the Python programming language
- Build more advanced user experiences that leverage multiple web pages and role-based authentication
- Use the power of Jinja2 templating to assist in authoring repetitive HTML components
These courses must be completed before Professional Web App Development:
- Wizard Level 1
- Wizard Level 2, Course 1 : APIs and Databases
- 1. Exploring the world of frameworks
In the first lesson of this course, students are introduced to a full-stack web framework, Flask. They explore the various aspects of the framework, like routing and using templates. In addition, they get familiarized with Python concepts like the difference between positional arguments and keyword arguments.
- 2. Diving deeper into HTML templates
In this lesson, students learn to use HTML templates more efficiently. They are introduced to control statements like if-else and for loop inside the template. They create a list of Python dictionaries to create a playlist page without repeating the HTML code. Also, they learn to show images from the static folder.
- 3. It’s time to authenticate
In this lesson, students work on a Meme Generator project from their previous course. Now that they know frameworks, they can use the Flask framework for advanced features like login/logout functionality. Students learn about adding routes that accept both Get & Post requests. They send data from an HTML form to Python code and set up the browser session, so that they don’t have to login every time the page is refreshed.
- 4. Let’s reuse some code by template inheritance
In this lesson, students look back at the code they wrote and work on optimizing it. They revisit the DRY principle and find the repeating code in their template files. To get rid of that repetition and improve their code structure, students learn about a new concept called Template Inheritance. With this, they can keep the common HTML code of all templates in one file and import it where needed.
- 5. Setting up a database
In this lesson, students create new accounts by using an SQLite database. In this process, they learn about the flask app context and the g object. By the end of this class, they create a signup form and link with the database to create new accounts.
- 6. Finishing the login with hashing
In this lesson, students secure their login functionality by using industry-standard hashing algorithms. They use the passlib python module to implement hashing into their app to securely save passwords in the database. Students also use a flask error handler to show the custom page for the 404 error. As a bonus, they customize the 404 error page to display the error name and description.
- 7. It’s time for code refactor
In this lesson, students learn about code refactoring. They are introduced to a new Flask feature: blueprints. A flask blueprint allows them to extend the app. With this, they can separate certain routes and methods in a blueprint and later link by registering that blueprint. By the end of this class, students will be able to separate all the routes related to logging-in in a blueprint. As a bonus, they learned how to add a URL prefix for blueprint routes.
- 8. Setting up a user profile
In this lesson, students add a user profile to their meme generator accounts. They learn how to implement foreign keys to link two tables. They link the users table with a new profiles table in such a way that there has to be a user in the users table for each profile created. As a bonus, they add a navigation ink to the profile page.
- 9. It’s time to upload files.
In this lesson, students implement uploading files to the server. They continue working on their meme generator project and add functionality to upload a profile photo. After uploading the image, they can check that file in their project folder as well. While doing so, they learn about input type file, encoding types of form, and use timestamps to make sure each uploaded file has a unique filename.
- 10. It’s time to create a meme feed
In this lesson, students combine user accounts, profiles, and the meme generator to set up a meme feed. They use a memes table to save the generated memes in a database and create a feed filled with the memes. They’ll code an Instagram-like scrollable feed, but it will only contain the memes generated using their project.
- 11. It’s time to upload memes
In this lesson, students take the level of memes up by one level by adding the functionality of uploading custom memes to their project. While doing that, they reuse the existing code of uploading a profile picture. Apart from that, they learn how to get the HTTP URL of their app. As a bonus, they add the copy link to the clipboard functionality in the feed.
- 12. It’s time to level up with Gif memes
In this lesson, students wrap up their Meme Generator project. For a perfect ending, they explore the possibility of saving animated memes. They are introduced to Giphy API to get animated memes. All industry giants like Facebook, Slack, and Instagram use Giphy for gifs. By the end of this class, students will be able to save animated memes from giphy.com into their meme feed.
#1 Most Comprehensive Program for Your Student’s Success!
The CodeWizardsHQ program comes with everything your child needs to be successful in learning to code.
All of the below are included at no extra cost.
Course Duration & Time Commitment
All courses are 12 weeks long. A Wizard will receive a certification for their achievement at the end of the course.
Expect a weekly time commitment of 2-3 hours. 55 minutes of class time, plus 1-2 hours of practice time, with instructor support throughout, including weekends.
Our goal is to make all our students successful. If your child is not happy with our program, please notify us within the first four class sessions and you will receive a full refund. See refund details.