learning path

Building an Application in Python

Advanced
5h 11m
1,784
4.7/5
Enhance your skill setDevelop essential skills for thriving in real-world scenarios.
Stay focused, stay committedBoost your learning journey by enrolling: stay focused, consistent and achieve your goals with ease.
Earn a certificate of completionShow your skills and build your credibility when you include them in your resume and LinkedIn profile.

This course shows you how to build a Python application that ingests data stored in Cloud Firestore and presents interactions via a vue.js front end. This content is built by a leading developer for developers. Your instructor Ben Lambert is a thought leader in development and DevOps best practices.

Along with learning the Python code and methods needed for the various interactions, you will learn how to approach, manage, and succeed with a development project. At a functional level, this course will show you how to build the application layer, connect with data services, manipulate the data, and then present the results. Along with the build, we will explore how to make life easy for you as a developer and how to manage projects at scale. We explore custom bash themes, replacement debuggers, debugger commands for starting an IPython shell, and pytest plugins. The source code is downloadable from the link below for you to use and build on. What makes this course really valuable to you is that we also learn how to write real-world unit tests, debug our steps, deploy our application, and then optimize it. 

The course is structured as follows:

  • In the first course, we build a data ingestion process that extracts named entities from articles across a few different publications. We extract named entities from around 100,000 articles and we save the results into Cloud Firestore. 
  • In the second course, we'll explore the codebase for a web application used to visualize those results. We learn about Python's web application standard and how to present results in a web front end. 
  • In the lab challenge, you will put your newly-acquired skills to the test by working through the application build and testing the queue process.
  • The final assessment enables you to show your understanding of the design concepts and code methods.

Learning Objectives

  • Configure a local development environment for an app using a VM and implement a data processor that can accept text, extract named entities, and return the results
  • Implement a message queue and create data models to use as messages to pass on the message queue
  • Create the backend for an application as well as a web endpoint to enqueue our post models
  • Implement a method for running the frontend and backend together and run the application using a dataset
  • Implement developer quality of life changes and a testable data access layer 
  • Learn how to build and test a Python web app and understand how it works
  • Understand how to use ipdb and IPython
  • Enhance your knowledge of the Python programming language

Intended Audience

This course is intended for software developers or anyone who wants to learn more about building apps with Python.

Prerequisites

To get the most out of this course, you should be familiar with the Python programming language — ideally Python 3 — and have a basic working knowledge of Linux, HTML/JS, and Git.

Resources

The source code for this course is available on GitHub here.

Feedback

If you have any feedback or suggestions relating to this course, feel free to contact us at support@cloudacademy.com

Your certificate for this learning path
About the Author
Avatar
Ben Lambert
Software Engineer
Students
108,176
Labs
37
Courses
49
Learning paths
58

Ben Lambert is a software engineer and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps. When he’s not building software, he’s hiking, camping, or creating video games.

Covered Topics