When you complete the Task Tracker tutorial, you'll make a collaborative task tracker app where users can keep track of tasks in solo and team projects.
The UI may vary slightly depending on which frontend client you build. This walkthrough of the iOS Task Tracker demonstrates what users can do:
- Register or sign in with an email and password
- View a list of projects in which the user is a member
- Select a project to view its tasks
- Change task status to In Progress or Done
- Add new tasks
- Delete tasks
- Add team members to projects
- View team member projects
- View and manage tasks in team members' projects
This diagram demonstrates how data coming from one user's interactions flows through the different components of the app.
- The red flow shows what happens when a user, Alice, signs in to the app. The frontend communicates to the backend, which handles authentication.
- The black flow follows the action of Alice updating a task. The frontend writes the update to the local Realm Database that sits on Alice's device. Then if the device has an internet connection, the data goes to the Realm app backend and the Atlas cluster.
This second diagram demonstrates how the actions of two separate users with separate accounts and devices might interact in the Task Tracker.
- The red flow happens first, showing Alice adding Bob to her project. Once Alice's device connects to the internet, this update is received by the Realm app and sent to Bob's device over the internet. At the end of the red flow, Bob has read and write access to Alice's project.
- The blue flow starts with Bob adding a task to Alice's project and reverses through all the steps that the red flow went through, again requiring an internet connection on both devices for the data to be consistent everywhere.
The Realm Database stores changes made on the device, until it can sync with the Realm app. When the device has an active internet connection, it syncs changes with the backend. When an offline device connects to the internet, it uploads and downloads any changesets. The user can then see changes that other users made while they were offline. Realm Sync handles this process.
In building the Task Tracker, you will take advantage of some of the built-in Functions available in Realm and the functionality of Realm Sync. Once your Realm backend is set up, you will combine it with the frontend of your choice to complete the app.
This tutorial will guide you through:
- Creating a Atlas cluster to store your app's data in the cloud
- Setting up a Realm app (the backend)
- Setting up authentication through the Realm UI.
- Using Realm Sync so you can have locally stored data on each device that syncs up with the data on your Atlas cluster when the device has internet.
- Creating a frontend that works with the Realm infrastructure you have created
To get started, set up the backend for the tutorial