Adding online-only features
In the last section, we connected our app to the Internet. Now, let's start to implement the online-only features, which we outlined in the previous chapter. PouchDB gives us some of this for free; namely, synchronization between devices. However, this assumes that all of the devices are linked to a single, hard-coded user account. Let's inject some flexibility into this.
First, it should be possible to manage your user account and keep your lists separate from the lists belonging to other users. Next, it should be possible to share lists between users for collaboration purposes. As with synchronization, both of these use cases are online-only so we shouldn't expose them when we're offline.
User account management
In a typical app, you need to handle user account management in the app itself. Most of these tasks—creating an account, changing passwords, deleting the account, and others—are neither relevant nor interesting in the...