A messaging app requires more work than the apps we reviewed in previous chapters, as it needs a user management system comprising of logging in, registering, and logging out. We will reduce the complexity of building this system using Firebase as a backend. Together with its user management system, we will use their push notifications system to notify users when new messages are sent to them. Firebase also gives an analytics platform, a lambda functions service, and a storage system for free, but the feature we will take the most profit from is their real-time database. We will store our user's profile, messages, and chats data there.
Let's take a look at what our app will look like to have a mental image of the screens we will be building:
First screen will be a login/registration screen because we need our users to provide a name and some credentials to...