Python API Development Fundamentals
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.
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
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)
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
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