
Explore API development with Flask and Python, learn to build, protect, and manage data using JSON web tokens, SQLAlchemy, and relational databases like MySQL or PostgreSQL.
Set up Python on Windows and Mac using Anaconda, create isolated conda environments with specific Python versions, and activate or deactivate environments for project work, avoiding the base environment.
Install VS Code as the development environment across Windows, macOS, and Linux, and use a SQL database management tool. Prepare to build an API with Python using Flux micro framework.
Explore Python, a high-level, object-oriented language launched in 1992, ideal for rapid development and building an api, with topics from variables and loops to error handling.
Define variables in Python with meaningful, readable names and valid identifiers, noting case sensitivity; avoid invalid characters and unused variables, and plan to define types.
Explore the dictionary data type in Python, defining dictionaries, accessing values by keys, and handling nested structures like payments inside student records.
Explore defining strings in Python with double or single quotes, working with immutable numbers, performing arithmetic, printing results, and casting strings from third party data.
Explore Python lists by defining a list that mixes integers, strings, and dictionaries, access elements with zero-based indexes, print results, and modify values by index.
Learn how tuples in Python are immutable and indexed, and how they differ from lists. Define, print, and check the length and type of tuples with practical examples.
Learn Python conditional statements, using if, elif, and else to choose code paths based on salary thresholds, with examples of printing results and tax calculations.
Explore greater than and less than operators, including greater than or equal to, less than or equal to, and not equal to, via salary-based if statements in Python.
Learn how while loops execute a code block while a condition stays true, using count increments and print statements in Python loops.
Explore how a for loop iterates over lists and lists of dictionaries in Python, printing each food item and its type and cost to demonstrate practical data handling.
Learn how break and continue control for loops to print selected foods from a list, stop when a food cost equals 500, and continue processing otherwise.
Explore how to format strings in Python 3 using the format method to insert dynamic values from orders and product data, including costs and names.
Build a python app using a list of dictionaries to model a customer directory, display data in an HTML table, and contrast HTML rendering with JSON API responses in Flask.
Display a dynamic html table by defining a five-column table head for customer id, name, email, phone, and address, then build rows with a for loop and string formatting.
Import json to load datasets from a separate JSON file and display them in an HTML table, validating that loaded data matches the code-defined data.
Explore how to define and call functions in Python, use docstrings, manage local and global variables, and return values, with practical examples like fetching customer data.
Learn to define Python functions with required and default parameters, return values, and keyword arguments, including *args and **kwargs, and use loops with break to process data.
Learn to create and import modules in Python projects, using calculator example to demonstrate importing functions, variables, models, and packages, and applying best practices such as DRY for reusable code.
Explore built-in Python modules such as maths, time, and json, and learn to use functions like sleep and rounding through a simple calculator module to run programs.
Learn to identify syntax and runtime errors in Python, handle exceptions with try/except, and return user-friendly messages while logging issues for robust REST API development.
Log errors to a file with an error logger, append entries, and return user-friendly responses while using try, except, else, and finally to manage flows and an audit log.
Explore the basics of object oriented programming in Python, organizing code into classes with attributes and methods, using self, and understanding inheritance for reusable, non repetitive design.
Design a Python class for student data, define an initializer and methods that use self, set class variables like school name and address, and instantiate the class to observe initialization.
Explore class attributes and self in Python to access student data like school name and address, and contrast instance versus static methods while planning a small ID-based record fetch project.
Simulate a student database as a list of dictionaries and implement a data class with methods to fetch all students and a single student by ID for Flask REST API.
Explore building a student record API by retrieving exam scores through user IDs, handling missing data with friendly errors, and extending objects to relate student data with school.
Learn how to extend a parent class to include school attributes, implement get school time, and simulate a database with json data in a python-based rest api project using flask.
Learn how to use Conda to create and activate Python virtual environments for each project, isolate dependencies, manage versions, and export a requirements file for sharing and reproducibility.
Create and activate a python virtual environment without Conda on Windows, Mac, or Linux. Install packages with pip, manage dependencies, and export a requirements file to share across environments.
Explore Flask, a micro web framework, and learn to set up a basic app with routing and templates. Dive into API development with blueprints, static files, sessions, and templates (jinja2).
Set up a basic flux application in Python by creating an app instance and guarding with if __name__ == '__main__', then run locally on port 5000.
Define routes with app.route in Flask, create hello world and contact us view functions, enable dynamic reloads, and return HTML or render Jinja templates from a templates directory.
Explore dynamic routing in Flask by using a block id in the URL to fetch and display a block with a Jinja template, including list and detail views.
Register and organize a large Flask REST API using blueprints to split the app into multiple files, structure views and templates, and register blueprints in the main application.
Learn to organize a Flask app using blueprints by creating public and admin views, registering them in the main app, and sharing templates across endpoints.
Learn how relational databases store data in tables with rows and keys, and install and use MySQL with Workbench to perform create, read, update, delete operations, backups, and security.
Create a local mysql schema named school system in workbench, then build a students table with an auto increment id, full name, and email, adding a unique index for emails.
Explore CRUD operations in a database, including creating, reading, updating, and deleting records with SQL queries, using a student table as a practical example.
Insert student records into the students table by matching columns to values with unique emails, then read and update data using select and where clauses.
Master deleting records in SQL by targeting identifiers such as id or email, and understand the production risks; use safe where clauses and like with percent for reads and searches.
Back up and restore MySQL databases, using incremental and full backups; test restores for business continuity, and use UI or command line to do so.
Back up a MySQL database using data exports in the administration panel, selecting database and data‑and‑structure options, then save as backup.sql and restore using MySQL Workbench.
Secure your Flask and Python rest APIs by enforcing strict database access controls, avoiding root in production, auditing configurations, and optimizing queries with selective column retrieval and indexing.
In this course, you will learn the basic and advanced skills required to become an efficient backend Engineer using Flask. Real-world examples and concept explanations that relate directly to your day-to-day tasks as a backend engineer.
REST APIs: How They Work and What You Need to Know
To understand REST, we need to review some key terms first:
A client is a person or program using the API. The client makes requests to the API in order to retrieve some information or change something within the application. Your web browser is a client — it interacts with APIs. The requested info is sent back to your browser and displayed on your screen.
A resource is any piece of information that the API can provide the client. For instance, a resource in Facebook’s API could be a user, a page, a photo, or a post. Each resource has a unique name, called the resource identifier.
A server is used by the application that receives client requests and contains resources that the client wants. The server has an API to interact with clients without giving them direct access to content stored in its database.
Now for our definition. REST is a set of guidelines that software can use to communicate over the internet in order to make integrations simple and scalable. A REST API (also called a “RESTful” API) is a specific type of API that follows these guidelines.
You will learn
How Rest API works
API development and management for mobile apps i.e Android, Iso
API to power your React and Angular frontend Apps
CI/CD with Digital Ocean Apps platform
Constant updates and upgrades to new technologies as relates to Api development with flask
Learn how to secure your API using JWT token
Logging for error detection and app insights
Together, we will develop a student management project which will encompass all the great topics covered in the course of the lectures