Python API Development Fundamentals

Course Description Overview

Course Number:
035470
Course Length:
3 days 
Course Description Overview:
This course teaches you all that’s needed to build a fully functional web application from scratch. You’ll learn all the necessary tools and modules that are required in the process. Beginning with the basics of RESTful API, you’ll complete the course by building and deploying an industry-grade web application.

Python is a flexible language that can be used for much more than just script development. By knowing how the Python RESTful APIs work, you can build a powerful backend for web applications and mobile applications using Python.


You'll take your first steps by building a simple API and learning how the frontend web interface can communicate with the backend. You'll also learn how to serialize and deserialize objects using the marshmallow library. Then, you'll learn how to authenticate and authorize users using Flask-JWT. Apart from all this, you'll also learn how to enhance your APIs by adding useful features, such as email, image upload, searching, and pagination. You'll wrap up the whole course by deploying the APIs to the cloud.


By the end of this course, you'll have the confidence and skill to leverage the power of RESTful APIs and Python to build efficient web applications.


Course Objectives:

After completing this course, you will be able to:

  • Understand the concept of a RESTful API
  • Build a RESTful API using Flask and the Flask-Restful extension
  • Manipulate a database using Flask-SQLAlchemy and Flask-Migrate
  • Send out plaintext and HTML format emails using the Mailgun API
  • Implement a pagination function using Flask-SQLAlchemy
  • Use caching to improve API performance and efficiently obtain the latest information
  • Deploy an application to Heroku and test it using Postman

 

Target Student:
This course takes the learning by doing approach to explain concepts to you. You’ll build a real-life web application by implementing each concept that you learn in theory. This way you’ll reinforce your new skill.
This course is ideal for aspiring software developers who have basic to intermediate knowledge in Python programming and want to develop web applications using Python. Knowledge about how web applications work will be beneficial but is not essential.
Prerequisites:
-
Course-specific Technical Requirements Software:

We also recommend that you have the following software installed in advance: 

  • OS: Windows 7 SP1 64-bit, Windows 8.1 64-bit or Windows 10 64-bit, Ubuntu Linux, or the latest version of OS X
  • Browser: Google Chrome/Mozilla Firefox Latest Version
  • Pycharm (https://www.jetbrains.com/pycharm/download/)
  • Postman (https://www.getpostman.com/downloads/)
  • Postgres Database (http://www.postgresql.org)
Course-specific Technical Requirements Hardware:

For the optimal student experience, we recommend the following hardware 

configuration: 

  • Processor: Intel Core i5 or equivalent
  • Memory: 4 GB RAM
  • Storage: 35 GB available space
Certification reference (where applicable)
-
Course Content:

Lesson 1. Your First Step

  • API/REST Introduction
  • API building practise(What is HTTP Verb and Status Code?)

Lesson 2. Starting to Build Our Project

  • Building our first python project
  • Going through project structure (blueprint)
  • RESTful API(Creating/Modifying/Deleting users)

Lesson 3. Manipulating a Database with SQLAlchemy

  • New user registration
  • Creating new menu

Lesson 4. Authentication and Security with JWT

  • Login function
  • Logout function
  • Access control for your food recipe

Lesson 5. Object Serialization with marshmallow 

  • Verifying user registered details

Lesson 6. Email Confirmation 

  • Email functions
  • Activating member accounts

Lesson 7. Working with Images

  • Adding member profile pictures
  • Adding photos for recipes

Lesson 8. Pagination, Searching, and Ordering

  • Searching 
  • Pagination

Lesson 9. Building More Features

  • Implement rate-limiting functionality for an API 
  • Use cache to improve API performance and efficiently get the latest information

Lesson 10. Deployment

  • Deploy your application to cloud 
  • Testing and wrap up
Registration
Register Now