REST API for Mobile & Web Apps Development with Python/Django
python, fastapi/django, postman, vscode tools and extensions, aws deployment

SCHEDULES & FEES
- DateAug. 10, 2022
- Duration 2 Months
- Days and Time Wednesdays & Fridays 9am - 12pm
- Fee N300,000
- Registration Status Registration is closed for this batch.
COURSE DESCRIPTION

What is an API ? The full meaning of this acronym is Application Programming Interface. This acronym does not explain exactly what an API is in practical contexts. Practically, an API(also commonly called web service, data service, or just service) is an application interface that exposes the data and functionalities of one application to other independent application(s) in a secure way; thus enabling applications integrations.
With an API, you can build a single backend(database and some functionalities) that works with mobile, SPA, GUI, and even CLI frontend applications all at the same time! APIs redefined our world and enable new experiences that were not possible before. That is why banks can now provide internet-banking mobile apps that enable customers to perform banking operations like funds transfer, donations/collections, bill payments, and much more; operations that were exclusive to only bank tellers a few years ago.
In an API environment - called Decoupled Architecture - one or more applications act as the API(s), which is the data service. This is the part of the system that provides the services that another application wants to consume or connect with. If you are building a fintech product for instance, the functionalities provided by this API may include: Bills Payment, Funds Transfer, Airtime Purchase, Loan Request, etc. API is responsible for the details of how each of the functionalities is handled and processed. This API may provide these functionalities internally or rely on another API provided by a third party to get the job done. An API can be written in any server-side programming language(python, PHP, Java, .net, etc). Then the frontend applications(also called the client applications) which will consume the API will have to be developed either by the same company providing the API or third-party developers and companies. These applications can be mobile apps(android or iOS) or web applications, also written in any language. End-users only interact with the frontend applications to get values provided by the API.
In this course, you will learn everything required to build and consume professional APIs for any industry. And from the course title, it is clear we will be using python and Django to do it. As explained above, the API you will learn to build can be consumed by frontend applications written in any platform. All APIs implement open standards like XML and JSON for data/message exchange, making them operationally platform agnostic.
If you took our fullstack python course, it means you can build a complete web application end-to-end. The next step now is to master how to expose your backend to the world as an API. If you took the fullstack python course and you are interested in this API course, there is a HUGE DISCOUNT for you!! Please contact us to claim it.
API Beginners' FAQs
Can I start with API development with no prior web development experience?
No. You should be familiar with a server-side fullstack development or frontend development of any kind, not compulsorily web. But ideally, API should not be your entry course into the dev world. If you can build mobile apps then you are good to go! You will struggle a lot going straight into API development without some prior experience. Our API course assumes you have some dev experience. THIS COURSE WILL NOT COVER FRONTEND DEVELOPMENT except to demonstrate client-to-api integrations.
Is it compulsory to build an API backend for all applications ?
No. For instance, if you run a physical store and want to also sell online to increase exposure, building an API backend in such a scenario is overkill. You can build it completely as a server-side rendered application (also called tightly coupled architecture). But as you grow from a one-man-show to a Jumia or Amazon, you will need to build APIs (implementing loosely coupled or decoupled architecture) to enable integrations for independent but complementary applications like third-party sellers portal, orders fulfillment system, CRM systems, returns management system, affiliates program management system and maybe a few more.
How much experience should I have before I start learning API ?
It depends on individuals. You can start once you feel comfortable with building data-driven server-side applications. Or once you can build mobile apps(iOS or Android). We recommend you have from 6 months to a year of experience as a web or mobile developer before delving into API.
TARGET AUDIENCE
[Web & Mobile Developers]
This is NOT a course for absolute beginners in the software development space. A good grounding in web or mobile development is a requirement. If you do not meet this requirement, consider taking our mobile ( flutter [coming soon] ) or web ( fullstack python development) course first before taking this.WHAT YOU WILL LEARN
- Learn the python language needed for the API course
- Master HTTP Fundamentals(Request/Response Cycle, HTTP Methods, Status Code)
- Build a Real World Backend RESTful API For an eCommerce store
- Master Various Object Serialization Techniques in Django
- Compose Complex Django ORM Queries
- Implement Req/Res Django Middlewares, including CORS
- JWT/Cookie Authentication
- API Security (NoSQL injection, XSS protection, Rate Limiting/Throttling)
- API Documentation with Open-API(Swagger) and Postman docgen
- Aws EC2 Deployment
COURSE OUTLINE
Python
- Why lean python
- Python 2 or 3? When you should use either
- Installing python 3
- Variables and working with numbers
- Strings
- Lists
- String formatting
- Conditional statements - if
- Loop - For
- Loop - While
- Ranges
- Functions
- Variables scope
- Dictionaries
- Sorting and set
- Classes
- The init function
- Methods and attributes
- Working with files
- Sending emails
Django Rest Framework
- What is API and how they work
- HTTP fundamentals: Urls, Endpoints, Methods & Status Codes
- The REST phylosophy
- Postman: Installation, Setup & Fundamentals
- Creating your first API
- Serializers
- Viewsets
- Router
- Pagination, Ordering & Filtering
- Field depth & Query fields
- CORS
- Security: Authentication & Authorization
- Basic Authentication
- Jwt Authentication
- Session based Authentication
- CSRF for Session based Authentication
- Permissions
- Consuming APIs across processes & domains
- Deployment
Git & GitHub
- What is Version Control System(VCS)
- Installing Git and How Git Works
- Global Git Config
- Repository Init
- Staging Files
- Making Commits
- Undoing Changes
- Branches
- Introduction to GitHub
- Cloning
- Team Coding with GitHub
- Forking Repos