Modern Application Development – 1

Nitin Chandrachoodan and I teach the Modern Application Development course at IITM as part of the Online BSc Degree program. In part one of this course, Nitin handles theory, and I run all the lab parts. Here are the screen-casts from my sessions. You will need a computer with some tools installed (mentioned in the screen-casts) if you want to work along with me. I have a separate page for Modern Application Development - 2, in case you were looking for that.

ChapterTitleDescriptionLength
1Creating and Serving HTML Document - What is an HTML Document
- How it is structured
- How to serve it
00:18:00
2Adding style to your HTML Document using Inline CSS- What is CSS
- How to use inline CSS
00:16:00
3Introduction to Internal and External CSS- How to use style tag
- How to use external CSS files
00:16:56
4Introduction to CSS selectors- How to use CSS selectors
- Class, ID and Type - selectors
- Relationship based
- Pseudo-class selectors
- Pseudo-elements selectors
- Attribute based selectors
00:25:53
5Introduction to Bootstrap- What is bootstrap
- How to use it
00:24:00
6Introduction to Jinja2 - Part 1- String formatting in Python
- f-strings
- Jinja2
00:20:02
7Introduction to Jinja2 - Part 2- Creating HTML documents using Jinja200:19:22
8Basics of Browser Deverloper Tools- Browser Developer Tool
- How to use it
00:32:00
9Introduction to Flask- What is Flask
- Simple Flask app
00:30:55
10SQLite- What is SQLIte
- How to create a SQLite database
- What tools to use it explore
00:13:09
11Introduction to SQLAlchemy- What is ORM
- Options in Python World
- Install and use SQLAlchemy
- Models in SQLAlchemy
- SQLAlchemy Engine, Connection, Session
- Connecting to SQliteDB
- Running queries
- Transactions: Commit and rollbacks
00:32:42
12Introduction to Flask-SQLAlchemy - 1- What is Flask-SQLAlchemy
- Install and setup inside a Flaks App
- Write Models
- Connect to DB
- Query the DB inside controller
00:19:14
13Introduction to Flask-SQLAlchemy - 2- More querying the DB
- Display the values using Jinja Template
00:23:28
14Structure of a Flask App- How to structure a flask app
- Where is the application setup
- Where is configuration
- Where are the models
- Where are the controllers
- Where are the templates
- Using static files
- requirement.txt
00:27:18
15Documenting Open API- Real world API documentation examples
- What is Open API documentation
- How to create a Open API documentation
- How to explore one
- Tools available
00:25:53
16Introduction to Flask-RESTful - I- Install and setup flask-restful
- Reading a OpenAPI document
- Implementing API based on the documentation
- Testing using API tools
00:59:03
17Introduction to Flask-RESTful - 2- Continue to build and test APIs00:19:10
18Logging- What is logging
- Why logging
- How to do in Python
- Logging levels, formatters
- How to do in Flask Apps
00:08:43
19Debugging- Configuring DEBUG in Flask App
- Using Debugging mode in Flask AP
- Security implications
- Using PDB in Flask App
- Interacting with PDB to Debug
- Using Flask Shell to debug
00:12:39
20Introduction to Indexing- How to use Explain SQL
- How to read it
- What are database indexes
- How to use them in your application
- Create some indexes
00:08:15
21Introduction to FTS (Full text search)- What is Full Text Search
- How is it supported in SQLite
- Create search table using fts5 in SQLite
- Create Triggers to update the search table on data change
- Use the search table from SQLAlchemy and Flask
- Add search functionality to your flask app
00:29:04
22Basics of JavaScript Usage- What is JavaScript
- How to use it inside HTML
- How to link to external JS file
- Events
- DOM Manipulation
- What is Fetch
- How to use Fetch with your Flask Application
00:47:01
23Introduction to Flask-Security- What is Authentication and Authorization
- What is RBAC
- Installing and configuring Flask-Security
- Creating User and Role Tables
- Implementing Email based Login
- Implementing Role based Authorization
- Using current_user in controller and templates
00:46:09
24Testing- Testing
- Unit Testing v/s Functional Testing
- Pytest
- Setting up configuration for testing
- Pytest Flow
- Writing a simple Pytest
- Running Tests
- Using Flask Client to test Flask App
- Writing a simple test case for Flask
- Fixtures - setup and teardown
- Running with Fixtures
- Using conftest.py
- Writing Test Classes
- Login/Auth inside tests
- Setting up and running coverage
00:45:19
25Database Migrations- What are DB Migrations?
- Why are they required
- Installing Flask-Migrate
- Configuring Flask-Migrate
- Intialize the DB migration
- Create the initial migration
- Running Upgrades
- Adding migration manually
- Settings not to generate - Drop tables
- Settings to ignore virtual tables or views
- Auto generating migrations
- Upgrading and downgrading
00:30:09
Do you like this post? Please rate, its just a click :) 1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...