Complete Python Web Course: Build 8 Python Web Apps
Build Python Web Applications from Beginner to Expert using Python and Flask
Created by Jose Salvatierra
Last updated 11/2018
English
What you'll learn
- Design, develop, and deploy engaging web applications using Python and web languages
- Understand the way the internet works from the point of view of all development areas
- Develop applications that use MongoDB databases
Course content
Your Age in Seconds
- Get the course e-book!
- Introduction
- Join the live chat for discussions and Q&A
- Installing Python
- Integers and Strings
- Integers and Strings Quiz
- Variables in Python
- Creating variables
- Solution to coding exercise: creating variables
- Methods print(), str(), and int()
- The print, str, and int methods
- Solution to coding exercise: print, str, and int
- The format() method
- The .format() cheatsheet
- Formatting strings quiz
- The format() method
- Solution to coding exercise: format()
- Getting user input with the input() method
- Asking users for input
- Solution to coding exercise: user input
- Creating our own methods in Python
- Creating methods and functions
- Solution to coding exercise: creating functions
- If statements in Python
- If statements quiz
- If statements
- Solution to coding exercise: if statements
- Section 1 assignment video
- Python basics
- The Age Program Python Code
Price of a Chair
- Our Development Environment
- Creating virtual environments for Python development
- Our Age application in PyCharm
- (aside) Tweaking PyCharm
- Understanding JSON and XML
- Making our first HTTP GET request
- Finding our chair price parsing HTML
- Parsing HTML data using BeautifulSoup
- Using the price as a number
- HTTP Quiz
- What's a Browser program Python Code
A simple terminal Blog
- Our MongoDB e-book
- Installing MongoDB
- MongoDB FAQ
- Introduction to MongoDB
- Creating a PyCharm project that uses MongoDB and pymongo
- Simplifying lists in Python with list comprehension
- Python list comprehension
- Introduction to Object-Oriented Programming
- Creating our first class, the Post
- Creating a Database class for database interactions
- The last few Post methods
- Having default parameter values in Python methods
- Understanding dates in Python: the datetime module
- Verifying that the Post methods all work
- The Blog class and @classmethods
- Verifying the Blog methods all work
- Starting the menu and user interactions
- Finalising the Menu class
- Finally, running the application!
- Terminal Blog program Python Code
Our first web application
- Introduction to REST APIs
- How can we make our own API? What is Flask?
- Python cls() and argument unpacking
- Creating the User model for our application
- Starting developing the User model
- Creating the login and register
- Finding blogs by a specific author
- Allowing creation of blogs and posts
- Creating the static resources and templates
- Our first template in Jinja2
- Beginning CSS styling of pages
- The user login page
- The user registration page
- Using Bootstrap for the first time for great styling
- How can we display a list of blogs?
- Displaying a list of posts
- The Jinja2 if statement for structure control
- Jinja2 revision
- Creating new blogs (front-end)
- Finalising the application by allowing to create posts!
- The Web Blog program Python Code
Price alerts for any online web-store!
- Intro and, what could be improved over last section?
- Introducing Blueprints for Flask
- Creating the app structure so it's easy to develop
- Mapping out the app flow
- Initialising the app
- Initialising the models for our app
- Creating our view structure: what do users interact with?
- Logging users in: the model
- Logging users in: the view
- Adding a sample user to the database to verify login works
- Introduction to Postman for API testing
- Checking the login flow for errors
- Registering users: the model
- Introduction to RegEx (Regular Expressions)
- Validating user e-mails and finalising the registration
- Verifying the registration with Postman
- Loading item prices with requests and BeautifulSoup
- Saving items to MongoDB
- Creating our Stores and getting live prices
- Don't forget about _id!
- Saving stores to MongoDB and using the url_prefix
- Checking the MongoDB RegEx search works
- Complete flow: from items to stores to prices
- Sending e-mails with our app: Mailgun
- Setting up the Mailgun Sandbox server
- Alert constants required for our e-mails
- Setting up our Alert to send e-mails
- Getting last updated alerts to decrease load on our app
- Saving alerts to MongoDB
- Notifying our users when the price is reached!
- Entering test data into the application
- The complete Alert workflow
Developing a complete front-end with Bootstrap
- Creating our Jinja template structure
- Using inheritance in our Jinja templates
- Fixing "template not found" error in PyCharm
- Creating a navigation bar using Bootstrap and HTML
- Collapsing the navigation bar to be more mobile friendly
- Creating affordances: using Glyphicons in the navigation bar
- Changing the links if the user is signed in
- Serving endpoints dynamically using url_for in Jinja templates
- Using the Bootstrap Jumbotron component for the homepage
- Creating the registration form using Bootstrap and HTML
- Fixing and finalising the logout form
- Registering and logging in to our application
- Getting the alerts for a specific user
- Refactoring the User model and including Constants
- Showing the user alerts Jinja template
- Fixing the item price not showing up in the alert page
- Pointing an alert item to an individual alert
- Rendering the single alert Jinja template
- Creating a button to add new alerts with Bootstrap and Jinja
- Creating the new alert form with Jinja
- Finalising creating alerts
- Advanced Python: decorators
- Creating the single alert page and adding manual price refresh
- Deactivating an alert
- Activating an alert
- Showing inactive alerts in the Jinja list
- Permanently deleting alerts
- Fixing the alert price when creating a new alert
- Ensuring that we are only checking active alerts
- Creating the store index
- Showing the list of stores and the store page
- Adding the single store page in Jinja
- Allowing the creation of new stores
- Editing and deleting existing stores
- Editing existing alerts so users can change the price point
- Using Flask's config file from Jinja
- Creating the requires_admin_permissions decorator
- Adding a link in the Mailgun API call
- Fixing the last bugs and finishing the application
Simple development-stage deployments to Heroku
- Signing up for GitHub
- Forking the GitHub repository from the last section
- How to install Git on Windows
- How to use the Windows Git Shell
- How to install Git on Mac
- How to install Git on Linux
- Cloning the Git repository from GitHub onto your computer
- File statuses and stages in Git
- How to generate an SSH key for GitHub
- Git commands: git commit and git push
- Git command: git log to check previous commits
- Signing up to Heroku
- Installing the Heroku Toolbelt (Command-Line Interface)
- Creating a new Heroku app
- Getting values from environment variables in Python
- Setting the environment variables in Heroku
- Setting up Heroku required files in our project so Heroku knows what to run
- Committing and pushing the new files to GitHub
- Adding servers on Heroku (called 'scaling dynos')
- Deploying our app to Heroku
- Adding MongoLab to our Heroku app as an add-on
- How to create a new MongoLab user
- Changing our program's database URI to match MongoLab's
- Using the Heroku logs to fix an Internal Server Error
- Running our deployed app in Heroku
- Another error: using the URI default database
- Verifying the app works, and next steps in the course
Deploying your apps manually to a server
- DigitalOcean Droplets
- Creating your DigitalOcean droplet
- Logging in to your droplet
- [E-BOOK] Deploying Flask apps to CentOS
- Setting up account permissions in CentOS
- Installing Python in CentOS
- Installing and setting up Nginx in CentOS
- Creating the application structure for the deployment
- Forking a GitHub repository and adding SSH keys
- Installing the app in CentOS
- Installing MongoDB in CentOS
- Setting up uWSGI in CentOS
- Running the app directly from your server
- Adding the cron job to automate sending e-mails
Requirements
- A computer; any will do!
- No software required, we'll install everything as we go.
- We will also install Python in the course! We can use either Python2.7 or Python3.5
Description
Update Nov 2018: added an e-book to the course to help with MongoDB setup, frequent questions, and working with MongoDB from Python!
Update Nov 2017: revamped audio in all videos to make it an even better experience!
Update Jul 2017: added explanation videos for all coding exercises in the course.
Updated Nov 2016: added live chat for questions, and interactive coding exercise to maximise your learning!
The Complete Python Web Developer Course will lead you down a path of understanding and skill that may well, with work and patience, result in an income boost or a career change.
It is a one-stop-shop covering everything you need to start having ideas and creating Python web applications that engage visitors and provide them with value. In addition, I’ll always be available to help you further your learning and explore more avenues for success.
What do you have to do?
You’ll have immediate access to 8 carefully designed sections, each teaching and guiding you into creating a web application using Python: your challenge. I’ve created thorough, extensive, but easy to follow content which you’ll easily understand and absorb.
I recommend taking your time, as software development doesn’t happen overnight. Each section should take approximately one week, including developing the weekly challenge, reading around the subject, and practising further.
- The course starts with the basics, including Python fundamentals, programming, and user interaction.
- Then we will move onto how the internet works, making web requests and parsing webpages to get data from them using Python.
- Now that you’ll have all the knowledge required, we’ll introduce our database of choice, MongoDB, and then proceed into creating our first Python web application: a blog where users can register and publish posts.
- Then we will create a fantastic Python web application to notify you when prices of items in online stores go down; a really useful web app!
During all this, we’ll be learning about deploying our Python web applications, making it performing so it can scale to thousands of users, and usability and security issues.
Over the entire course you will learn:
- Python
- HTML
- CSS
- Responsive Design with Bootstrap
- JavaScript
- jQuery
- MongoDB
- Linux (UNIX)
- APIs (both creating them and interacting with them)
- Deployments to Heroku and DigitalOcean
What else will you get?
- A friendly community to support you at all times
- Personal contact with me: I’m always available to answer questions and help out
- Lifetime access to course materials, even as more are released (and they are, very often!)
- Hands-on learning to ensure you’re absorbing everything
- A true understanding of the concepts of software development, design, and operations
By the time you’re done with the course you’ll have a fantastic set of fundamentals and extensive knowledge of Python and web development, which will allow you to easily continue learning and developing more and more advanced and engaging web applications.
It doesn’t matter how old you are or what you do professionally. I guarantee that anyone can benefit from learning web development and Python, but especially web application development.
Who this course is for:
- This course is for beginners with a none to a small amount of development experience, or for intermediate developers wanting to learn about deployments and development with Python
- This course is not intended for advanced programmers with a lot of experience
About Instructor
Jose Salvatierra
Founder of Teclado and Software Engineer
Hi! I'm Jose! I love helping students learn to code and master software development. I've been teaching online for over 6 years, and I founded Teclado to bring software development to everyone—my objective is for you to truly understand everything that goes on behind the scenes.
Coding is extremely rewarding. As you learn, things start to click and make sense. You can join the dots of all the things that weren't quite clear before. I'm here to make that journey quick and painless!
I can help you with Python and JavaScript issues, particularly in web and backend development. I'm experienced with programming libraries and frameworks like Flask, React, React Native, and AngularJS. I've worked extensively with UNIX systems, MongoDB, PostgreSQL, and advanced system architecture design.
Total Size: 3.3GB
https://www.udemy.com/the-complete-python-web-course-learn-by-building-8-apps/
0 Comments