
Explore building a progressive web app with Angular by creating a movie search and details experience hosted on Firebase, with offline support and standalone application.
Explore characteristics of progressive web apps, including offline support, responsive design with bootstrap, home screen metadata, fast 3g loading, angular single-page app concepts, lazy loading, cross-browser compatibility, and shareable URLs.
Install node.js from nodejs.org, select the LTS version, install on Windows, Linux, or Mac, and verify with node -v and npm -v; upgrade npm globally with npm update -g.
Install the angular CLI globally and use ng to create a new project and start the development server. Use ng version and ng help, then ng build to deploy.
Install Firebase tools globally with npm to enable hosting and deployment of your Angular PWA, then log into the Firebase console to create projects and deploy to hosting and databases.
download and install visual studio code from code.visualstudio.com, unzip and run the app, and benefit from automatic updates by keeping it in the macos applications folder.
Fetch movie details from omdbapi.com using an Angular front end and RESTful endpoints, and learn how to register, activate a free API key, and use endpoint parameters.
Learn how to create a new Angular application with routing, and bootstrap integration for a movie browser, including the basic project structure (package.json, angular.json, main.ts, app module, app component).
Explore how Angular uses components and routes to build an app, creating a home component and styling with Bootstrap for a responsive layout.
Create a header component for the movie browser PWA that displays app name and a search input for movies. Wire component into the app module and style with bootstrap utilities.
Create an Angular movie list component that binds a movies array, uses interpolation, and displays results in a responsive Bootstrap card grid with titles and posters.
Master Angular routing by wiring a home and movie list component via a routing module, using router outlet, routerLink, and navigate to display movies.
Create a reusable movies service in Angular that uses HttpClient get with a search term to fetch data, then subscribe in the movie list component to display results.
Use activated route to read the query parameter from the URL, subscribe to the parameter observable, and pass the value to the movie service's searchMovies to fetch the movies array.
Learn to fetch movie details by IMDB id using an API key, retrieving data like rating, release date, runtime, director, plot, and poster, and implement getMovieDetails function in a service.
Implement a movie details view in Angular using the activated route to fetch details from the movie service and present a poster with information in a two-column layout.
Add progressive web app support to your Angular project by running ng add @angular/pwa, generating the manifest and service worker config, and updating modules and assets.
Walks through the generated pwa artifacts, detailing the angular service worker configuration, assets and data caching, and the web manifest with icons and install options.
Create and update app icons for a movie browser PWA by designing a 512x512 icon in Keynote, exporting assets, and generating platform-specific icon sets for Android, iOS, and web.
Deploy your Angular PWA by creating a Firebase project, initializing Firebase, and configuring hosting, then run a production build to publish dist/movie-browser with index.html, JS files, and assets.
Deploy your Angular app to Firebase hosting by building and running Firebase deploy, publish the movie browser folder, and verify the app loads from the hosting URL.
Learn how the movie browser PWA installs from Chrome, runs offline, and launches as an independent window, with service workers, manifest, and Lighthouse audits to optimize performance.
Turn a web app into a progressive web app on android by adding it to the home screen, launching it like a native app, and enabling movie search with details.
A Progressive Web App or PWA is a web application that has a set of capabilities (similar to native apps) which provide an app-like experience to users. PWAs need to meet a set of essential requirements that we'll see next. PWAs are similar to native apps but are deployed and accessible from web servers via URLs, so we don't need to go through app stores.
A PWA needs to be:
Progressive: Work for every user, regardless of browser choice, because they are built with progressive enhancement as a core tenet.
Responsive: Fit any form factor, desktop, mobile, tablet, or whatever is next.
Connectivity independent: Enhanced with service workers to work offline or on low-quality networks.
App-like: Use the app-shell model to provide app-style navigation and interactions.
Fresh: Always up-to-date thanks to the service worker update process.
Safe: Served via HTTPS to prevent snooping and ensure content has not been tampered with.
Discoverable: Are identifiable as "applications" thanks to W3C manifests and service worker registration scope allowing search engines to find them.
Re-engageable: Make re-engagement easy through features like push notifications.
Installable: Allow users to "keep" apps they find most useful on their home screen without the hassle of an app store.
Linkable: Easily share via URL and not require complex installation.
In detail, this course will cover everything you need to build amazing PWAs - leading to a score of 100 (out of 100) in Google's PWA auditing tool "Lighthouse".
This is completely a hands-on training, bringing all the best practices that a developer should follow in his/her projects.
Here are some of the feedbacks given by my students:
Best instructor and best trainer on Udemy. Quick Response and very friendly .i have been checked out many angularJS courses (very long tutorials) around 30 hours on Udemy. but vinod Sir within 5 & 6 hours who taught every things very simple.he has good knowledge and good experience on Teaching method.i recommend this course .?? (Sithat iffazer)
This is a great and simple course for beginners. Wish the Author build more courses like this for angular 7. With a real DB, auth etc... Thanks and ThumbUp
The Course was clear and concise and touches upon the important Angular features. (Harsh Kedia)
Step by step learning,explain everything easy and clear. Perfect for beginners! (Dragan Stevanovic)
I have not yet completed the course. But I am very much confident, after completing this course, it would be wonderful experience. So far it's going very well. This course is simply superb. The tutor - Vinod, is simply great. He explained difficult concepts in a simplest way. He knows how to make a teaching session an interesting and informative one. Thanks to you Udemy for this opportunity and special thanks to Vinod. (Venkatesh)
Very helpful. I like the way trainer Vinod makes things so simple to understand. (Robinet Gimlet)
Very detail oriented. Explained all possible ways in each section i.e. environment setup(eclipse, tomcat, h2 DB), application development to deployment, testing with postman, error handling, eclipse shortcuts. (Hemalatha Bhimavarapu)
I got to learn so many new things from this course and very well explained, Thank you! (Tushar Patil)
It is very well and detailed any one can understand and learn the course. I would recommend it to others. (Ashwini Iyer)
Great Course, the instructor was easy to follow and help me understand the subject better. Thank u. (Aida Hailu)
------------------------------------------------------------------
So, see you inside the course,
Vinod.