Angular 11 Training Course

Introduction

  • What is Angular?
  • What’s new in Angular 11?

Overview of Typescript and ES6 JavaScript

  • TypeScript Syntax
  • Using the TypeScript transpiler
  • Setting up Angular 11 and Typescript

Overview of Angular 11’s Parts

  • Angular CLI
  • Components
  • Directives
  • Inputs and Outputs
  • Data Binding and Interpolation
  • Event Binding
  • Data Modelling
  • Bootstrapping
  • Experimental Webpack

Creating Your First Angular Application

  • Planning the Application
  • Setting Up an Angular Project
  • Creating a mobile friendly UI using Bootstrap 4 and Sass

Creating a Component

  • Understanding the Component Lifecycle
  • Data Flow
  • Using Templates and Styles
  • Projecting Content
  • Working with AppModule
  • Working with Custom Components
  • Using View Encapsulation
  • Implementing Lifecycle Hooks
  • Using ViewChildren and ContentChildren

Data Binding in Angular 11

  • Understanding Property and Event Binding
  • Binding and Assigning Aliases to Custom Properties
  • Binding and Assigning Aliases to Custom Events

Working with Directives

  • Built-in Directives
  • Custom Directives

Angular 11 Services

  • Creating a Logging Service
  • Creating a Data Service

Using Dependency Injection and Providers

  • Injectors, Provider, and Tokens
  • Configuring Dependency Injection
  • Configuring Your Provider
  • Injecting Services into Components, Directives, and Services

Switching Pages with Routing

  • Understanding the Different Navigation Methods
  • Routing Strategies
  • Setting Up Routes
  • Configuring and Loading Routes
  • Using Parameters in Routes
  • Creating Nested Routes
  • Using Redirect and Wildcard Routes
  • Understanding Route Guards

Using RxJS to Create and Work with Observables in Angular

  • Overview of Observables
  • Overview of RxJS
  • Building & Using Observables in Angular

Generating Forms for User Input

  • Using the Template Driven Forms
  • Using the Reactive Forms
  • Creating custom validation
  • Validating, filtering, and sanitizing form data

Using Pipes

  • Transforming output
  • Built-in Pipes
  • Async Pipe
  • Custom Pipes

Making Calls to External HTTP APIs

  • Sending requests

Testing the Angular 10 Application

  • Using Jasmine for unit testing
  • Using Protractor for end-to-end testing

Debugging the Application

  • Understanding Error Messages in Angular
  • Using Sourcemaps to Debug Code in the Browser
  • Reading TypeScript Compilor diagnostics
  • Using Augury

Optimizing the Angular 11 Application

  • Reworking the code
  • Reducing bundle size and eliminating dead-code

Angular 11 Security

  • How authentication works
  • Using JWT authentication
  • What should and shouldn’t be written in Angular

Deploying an Angular 11 Application to Production

  • Deploying to IIS, Apache, Nginx, etc.

Angular 11 Best Practices

Troubleshooting

Summary and Conclusion

Angular 12 Training Course

Introduction

  • What is Angular?
  • What’s new in Angular 12?

Overview of Typescript and ES6 JavaScript

  • TypeScript Syntax
  • Using the TypeScript transpiler
  • Setting up Angular 12 and Typescript

Overview of Angular 12’s Parts

  • Angular CLI
  • Components
  • Directives
  • Inputs and Outputs
  • Data Binding and Interpolation
  • Event Binding
  • Data Modelling
  • Bootstrapping
  • Experimental Webpack

Creating Your First Angular Application

  • Planning the Application
  • Setting Up an Angular Project
  • Creating a mobile friendly UI using Bootstrap 4 and Sass

Creating a Component

  • Understanding the Component Lifecycle
  • Data Flow
  • Using Templates and Styles
  • Projecting Content
  • Working with AppModule
  • Working with Custom Components
  • Using View Encapsulation
  • Implementing Lifecycle Hooks
  • Using ViewChildren and ContentChildren

Data Binding in Angular 12

  • Understanding Property and Event Binding
  • Binding and Assigning Aliases to Custom Properties
  • Binding and Assigning Aliases to Custom Events

Working with Directives

  • Built-in Directives
  • Custom Directives

Angular 12 Services

  • Creating a Logging Service
  • Creating a Data Service

Using Dependency Injection and Providers

  • Injectors, Provider, and Tokens
  • Configuring Dependency Injection
  • Configuring Your Provider
  • Injecting Services into Components, Directives, and Services

Switching Pages with Routing

  • Understanding the Different Navigation Methods
  • Routing Strategies
  • Setting Up Routes
  • Configuring and Loading Routes
  • Using Parameters in Routes
  • Creating Nested Routes
  • Using Redirect and Wildcard Routes
  • Understanding Route Guards

Using RxJS to Create and Work with Observables in Angular

  • Overview of Observables
  • Overview of RxJS
  • Building & Using Observables in Angular

Generating Forms for User Input

  • Using the Template Driven Forms
  • Using the Reactive Forms
  • Creating custom validation
  • Validating, filtering, and sanitizing form data

Using Pipes

  • Transforming output
  • Built-in Pipes
  • Async Pipe
  • Custom Pipes

Making Calls to External HTTP APIs

  • Sending requests

Testing the Angular 12 Application

  • Using Jasmine for unit testing
  • Exploring Protractor alternatives for end-to-end testing

Debugging the Application

  • Understanding Error Messages in Angular
  • Using Sourcemaps to Debug Code in the Browser
  • Reading TypeScript Compilor diagnostics
  • Using Augury to debug inside a browser

Optimizing the Angular 12 Application

  • Reworking the code
  • Reducing bundle size and eliminating dead-code

Angular 12 Security

  • How authentication works
  • Using JWT authentication
  • What should and shouldn’t be written in Angular

Deploying an Angular 12 Application to Production

  • Deploying to IIS, Apache, Nginx, etc.

Angular 12 Best Practices

Troubleshooting

Summary and Conclusion

Developing APIs with Python and FastAPI Training Course

Introduction

  • FastAPI vs Django vs Flask
  • Overview of FastAPI features and advantages

Getting Started

  • Installing FastAPI
  • Defining a schema using OpenAPI

Path and Query Parameters

  • Declaring path parameter types
  • Parsing and validating data
  • Declaring required and optional parameters
  • Converting query parameter types
  • Multiple path and query parameters

Declaring a Request Body with Pydantic Models

  • Creating a data model
  • Combining path, query, and body parameters
  • Declaring validations and metadata
  • Using deeply nested models
  • Defining example data
  • Response and extra models

Defining Forms and Files

  • Using form fields instead of JSON
  • Creating file parameters
  • Using file and form parameters

Handling Errors

  • Using HTTPException
  • Adding custom headers
  • Installing custom exception handlers
  • Overriding default exception handlers

Working with Databases

  • ORMs and file structure
  • Creating SQLAlchemy parts
  • Creating database models
  • Creating Pydantic models
  • Performing CRUD operations
  • Creating tables, dependency, and path operations
  • Reviewing and checking files
  • Interacting with the database

Security and Authentication

  • Using Oauth2 and OpenID connect
  • Defining multiple security schemes with OpenAPI
  • Using the FastAPI utilities

Deployments

  • Deployment concepts, stages, and tools
  • Working with Gunicorn and Uvicorn
  • Using container systems (Docker and Kubernetes)

Troubleshooting

Summary and Next Steps

Web Development with Web2Py Training Course

Getting Started

  • Setup web2py

Web2py

  • Overview
    • Startup
    • Simple Examples
    • Admin
    • App Admin
  • The core
    • Command Line Options
    • Workflow
    • Dispatching
    • Libraries
    • Applications
    • API
    • Accessing API from Python Modules
    • request
    • response
    • session
    • cache
    • URL
    • HTTP and Redirection
    • Internationalization
    • Application Init
    • URL rewrite
    • Running tasks in the background
    • web2py scheduler
    • Third party modules
    • Execution environment
    • Cooperation
    • Logging
    • WSGI
  • The views
    • Basic Syntax
    • HTML helpers
    • Built-in helpers
    • Custom Helpers
    • BEAUTIFY
    • Server-side DOM and parsing
    • Page Layout
    • Functions in views
    • Blocks in views
  • The database abstraction layer
    • Dependencies
    • The DAL: A quick tour
    • Using the DAL “stand-alone”
    • DAL constructor
    • Table constructor
    • Field Constructor
    • Migrations
    • Fixing broken migrations
    • Migration control summary
    • insert
    • commit and rollback
    • Raw SQL
    • drop
    • Indexes
    • Legacy databases and keyed tables
    • Distributed transaction
    • More on uploads
    • Query, Set, Rows
    • select
    • Other methods
    • Computed Fields
    • Virtual Fields
    • One to many relations
    • Many to Many
    • list: and contains
    • other operators
    • Generating raw sql
    • Exporting and importing data
    • Caching selects
    • Self-Reference and aliases
    • Advanced features
    • Gotchas
  • Forms and validators
    • FORM
    • SQLFORM
    • Other types of forms
    • CRUD
    • Custom Forms
    • Validators
    • Widgets
    • SQLFORM.grid and SQLFORM.smartgrid
    • grid and smartgrid access control
    • smartgrid plurals
  • Emails and SMS
    • Setting up email
    • Sending emails
    • Sending SMS messages
    • Using the template system to generate messages
    • Sending messages using a background task
    • Reading and managing email boxes (Experimental)
  • Access Control
    • Authentication
    • Authorization
    • Central Authentication Service
  • Services
    • Rendering a dictionary
    • Remote procedure calls
    • Low level API and other recipes
    • Restful web services
    • Services and Authentication
  • jQuery and Ajax
    • web2py_ajax.html
    • jQuery effects
    • The Ajax function
  • Components and Plugins
    • Components, LOAD and Ajax
    • Plugins
  • Deployement Recipes
    • Deployment: development and production
    • Deployment recipes: Infrastructure
  • Other Recipes
    • Upgrading
    • How to distribute your applications as binaries
    • Developing with IDEs: WingIDE, Rad2Py, Eclipse and PyCharm
    • SQLDesigner
    • Publishing a folder
    • Functional testing
    • Building a minimalist web2py
    • Fetching an external URL
    • Pretty dates
    • Geocoding
    • Pagination
    • httpserver.log and the Log File Format
    • Populating database with dummy data
    • Accepting credit card payments
    • Dropbox API
    • Streaming virtual files

Wagtail CMS for Developers Training Course

  • Introduction
  • Overview of Wagtail CMS
  • Preparing the Development Environment
  • Installing and Configuring Wagtail CMS
  • Navigating the Admin Interface
  • Planning the Structure of a Website
  • Understanding StreamFields
  • Creating a Sample Website
  • Creating a DJango Model
  • Creating a StreamField
  • Creating Menus
  • Creating a Custom Page
  • Adding Multimedia (images, video, audio, etc.)
  • Creating a Contact Page
  • Customizing Global Settings
  • Improving SEO
  • Optimizing the Website
  • Securing Wagtail CMS
  • Debugging the Application
  • Deploying a Full-Fledged Wagtail CMS Site
  • Troubleshooting
  • Summary and Conclusion

Django CMS for Developers Training Course

  • Introduction
  • Overview of Django CMS
  • Preparing the Development Environment
  • Installing and Configuring Django CMS
  • Creating a Sample Website
  • Defining the Structure of a Page Using Page Templates
  • Configuring Fields to Render User-Editable Content Using Placeholders
  • Working with Plugins
  • Creating a Custom Plugin
  • Understanding Application Hooks (apphooks)
  • Integrating an Existing Django Application into Django CMS System
  • Sharing Data Using the Django REST Framework API
  • Testing the Application
  • Debugging the Application
  • Securing Django CMS
  • Deploying a Full-Fledged Django CMS Site
  • Troubleshooting
  • Summary and Conclusion

Django CMS for Administrators Training Course

Introduction

  • Django CMS vs Drupal vs WordPress

Overview of Django Web Framework

Overview of Django CMS Features and Architecture

Evaluating Hosting Options (on-premise, public cloud, etc.)

Installing and Configuring Django CMS

Navigating the Admin UI

Working with Plugins

Working with the Database

Managing Users and Roles

Securing Django CMS

Deploying Django CMS to Production

Setting up Multiple Websites

Backing up and Restoring Django CMS

Migrating Django CMS

Integrating Django CMS with 3rd Party Applications

Monitoring a Django CMS Site

Maintaining and Repairing Django CMS

Optimizing Django CMS

Troubleshooting

Summary and Conclusion

Learn Django from Basic to Advanced Training Course

  • Django Overview
    • Django is a framework
    • Frameworks VS Packages
    • What can it do?
    • What are the alternatives?
  • Getting Started with Django
    • Sites and Apps
    • Shared Configuration
    • Minimal Django layout
    • Built-in Flexibility
  • Using Cookiecutter
    • Why Cookiecutter?
    • Cookiecutter Features
    • Creating a project
    • Creating an app
    • Customizing Cookiecutter
  • Creating models with Django ORM
    • Defining Models
    • Related Objects
    • SQL Migration
    • App Configuration
    • Accessing Models
  • Login for Nothing and Admin for Free
    • Setting up the admin user
    • Running the admin site
    • Tweaking the admin interface
    • Changing the admin index page
  • Basic Views (AKA Controllers)
    • What is a view?
    • Http Response
    • URL Route Configuration
    • Shortcut: get_object_or_404()
  • Working with Templates
    • About templates
    • Django template syntax
    • Static files
    • Loading templates
    • The URL tag
    • Shortcut: template.render()
  • Querying the Models
    • Query Sets
    • Field lookups
    • Chaining filters
    • Slicing Query Sets
    • Related Fields
    • Q objects
  • Enhancing Models
    • Custom Methods
    • Complex Relationships
    • Overriding Standard Methods
  • Forms
    • Forms Overview
    • GET and POST
    • The Form Class
    • Processing the form
    • Widgets
    • Validation
    • Forms in templates
    • Beyond the basics
  • Debugging
    • Printing to the console
    • Django debug page
    • Reading Django logs
    • Django debug toolbar
  • Class-based Views
    • About Generic Views
    • Types of Generic Views
    • Default Generic Views
    • Class-based Generic Views
    • List and Details of Views
  • User Authentication
    • Authentication VS Authorization
    • Configuring Users
    • Permissions
    • Groups
  • Session Management
    • Enabling sessions
    • Types of session backends
    • Session Cookies
    • Accessing sessions from views
  • Migrations
    • Managed VS Unmanaged Tables
    • Handling Schema Changes
    • Using Make Migrations and Migrate
    • Tweaking Migrations
    • Migrating Data
  • Advanced Configuration
    • Django Settings Architecture
    • Typical Configuration
    • Using 12 Factor Config
    • Security Considerations
  • Serving Data with a RESTtful Interface
    • The Django REST Framework
    • Serialization
    • Requests and Responses
    • Function-based Views
    • Class-based Views
  • Static File Management
    • Types of Static Files
    • Configuring Access
    • Namespacing
    • Templates
    • Deploying from outside Django
  • Automated Testing
    • Why Create Tests?
    • When to Create Tests?
    • Using Django’s Test Framework
    • Using the test client
    • Running Tests
    • Checking Code Coverage
  • Using the Cache
    • Types of Caches
    • Setting up the Cache
    • Per-site and Per-view caching
    • Low-level API
    • Cache Security
  • Creating Reusable Apps
    • Packaging
    • Choosing an Appropriate Name
    • Deploying
    • Using Setup Tools
  • Documentation with Sphinx
    • Description of Sphinx
    • Restructured Text
    • Configuring Sphinx
    • Creating Doc Files
    • Using Auto doc
    • Generating Docs

Web Development with Django Training Course

Getting Started

  • Installation

Intro to Django

  • Object-relational mapper
  • URLs and views
  • Templates
  • Forms
  • Developmental process
  • Authentication
  • Admin
  • Internationalization
  • Security

Tutorial

  • Requests and responses
  • Models and the admin site
  • Views and templates
  • Forms and generic views
  • Testing
  • Static files 
  • Customizing the admin site

Advanced Tutorials

  • How to write reusable apps
  • Writing your first patch for Django

Build REST APIs with Python and Django Training Course

Introduction

Django and Django REST Framework

  • Templating, routing, forms, and authentication
  • Constructs for code scaling
  • Database management

The Fundamentals of APIs and Their Functionality

  • Scalar types
  • Web Architecture Patterns: the composite pattern, proxy pattern, and facade pattern

REST Overview

  • Get option
  • Pull option
  • Post option
  • Delete option

Preparing the Development Environment

  • Installing Python
  • Installing and configuring Django and Django REST Framework
  • Setting up a version control system
  • Setting up a development server with Docker

Creating a Basic Python Application with Django

  • Building a new project
  • Testing and committing changes
  • Creating a database model
  • Syncing the database with migrations
  • Enabling admins

APIViews and Viewsets

  • Adding URL configuration
  • Creating and testing an APIView
  • Adding methods to an APIView
  • Creating and testing a Viewset
  • Adding functions to a Viewset

Endpoints and Authentication

  • Adding management and management user endpoints
  • Creating APIViews
  • Adding token APIs
  • Testing for API validity

Deployment on a Cloud Based Server

  • Adding a key pair
  • Creating a server instance
  • Implementing deployment scripts
  • Deploying changes

Summary and Conclusion