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
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
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
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
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
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
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