This learning path 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 learning path 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 learning path 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 learning path 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.
- 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
This learning path is intended for software developers or anyone who wants to learn more about building apps with Python.
To get the most out of this learning path, you should be familiar with the Python programming language — ideally Python 3 — and have a basic working knowledge of Linux, HTML/JS, and Git.
The source code for this learning path is available on GitHub here.
If you have any feedback or suggestions relating to this learning path, feel free to contact us at firstname.lastname@example.org
Learning Path Steps
This course is intended to help you gain a better understanding of Python by building an application that's a bit more complex than a standard hello world application.
Test your knowledge of building Python applications using multiprocessing queues and events in this lab challenge.
Test your knowledge of building Python applications using a shutdown watcher in this lab challenge.
Knowledge Check: Building a Python Application
This is the second course in a two-part series on building a Python application and explores how to build a web application.
Knowledge Check: Building a Python Application Part 2
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.