
We are gonna have a look at what we are developing in course of this lecture.
We are gonna have a look at how ionic is setup on your local machine for development.
We are looking into how Angular & Ionic projects are structured and what all the files are for.
Kick off an Ionic Angular todo app, launch a local server, and build a dynamic list using ion-list and ion-item with an input and add button to push todos.
Install and configure CouchDB for offline-first apps, create databases and documents, and design table data as separate documents to simplify syncing and conflict handling.
Set up PouchDB and CouchDB integration in an Angular Ionic app, create db and table services to fetch table documents via selectors, and enable live sync with reactive updates.
What is the CAP-Theorem? Why is our previous approach bad of just fetching the document on changes? What is the problem with distributed systems?
Implement and view consumed products in an offline-first Angular Ionic app by creating a product consumed document and service, subscribing to changes, and displaying items by table ID.
Style the products view into a waiter-style interface by building a split-screen layout with scrollable Ionic cards, center-aligned labels, and category filtering.
Persist consumed product changes by saving updates to PouchDB and CouchDB, using a save added action and a product consumed service in an offline-first Angular app.
Create a new product consumed document when a table has no existing record, using the table ID, a generated UID, and updating the products consumed array in CouchDB.
Enable an edit flow on the table details page by toggling edit mode, adding plus and minus controls to adjust consumed products, and saving or navigating to the pay page.
Develop the payment page to calculate split amounts per person and let users select the number of payers with a radio interface, while merging selected payments into the bill.
Implement styling and continue with state machine by fetching products consumed on the tables page, adding subscriptions and status-based icons and colors for prepared, ordered, and delivered states.
Improve the waiter workflow by enabling delivered status updates from the table details view and sorting products by delivered state to keep kitchen and orders synchronized.
In this course, you will learn how to build a robust, offline-first web application using PouchDB, CouchDB, Angular, and Ionic. You will start by setting up a development environment and learn how to use PouchDB and CouchDB to store and sync data locally and with a remote server. You will then learn how to use Angular to build the front-end of your application and Ionic to design and style your application for mobile devices.
Throughout the course, you will work on a practical project to apply the concepts you have learned and build a fully functional offline-first web application. You will also learn how to test and debug your application, and how to deploy it for production use.
You will learn about the CAP Theorem, which is a fundamental concept in the field of distributed systems. You will learn what the CAP Theorem is, how it relates to the design and implementation of distributed systems, and how it impacts the performance and reliability of these systems.
You will start by exploring the three key components of the CAP Theorem: Consistency, Availability, and Partition Tolerance. You will learn about the trade-offs between these components and how they affect the behavior of distributed systems. You will also learn about different approaches to achieving consistency in distributed systems, including eventual consistency and strong consistency and why we used CouchDB as a technology.
By the end of this course, you will have the skills and knowledge to build a reliable, offline-first web application using PouchDB, CouchDB, Angular, and Ionic. You will be able to store and sync data locally and with a remote server, build a responsive user interface, and design and style your application for mobile devices.