IOS App

Flash-Chat

My Role
iOS developer.
Timeline
Jun 23- Aug 2023.

iOS messaging app with authentication that allows users to register, log in, send and receive messages to and from another user.

About this Project

This iOS messaging app allows users to create accounts and send messages to another signed-up user. I use Google’s Firebase to support this registration and login process; when a user is taken to the register or login screens and puts in their information, authentication is performed by Firebase, and if it is successful, a segue is performed to take them to the chat screen which implements a tableview to show custom made message bubbles made in a xib file. When the chat screen is loaded, previously sent messages are read from the Firebase Firestore database and displayed using the UITableViewDataSource delegate methods. Also, each time a message is sent, it is added to the database, and the delegate methods are recalled to display the newly sent message. The screens are embedded in a navigation controller so that users can access a navigation bar with back and log-out buttons.

Challenges faced

The most difficult part of this project was deciding which package manager to use to install the Firebase packages. I found swift package manager the easiest to use as it worked seamlessly with Xcode. Another difficult portion was reading documentation to understand how to store and read messages from the Firebase Firestore database. Understanding the datatype of what was retrieved from the database to display it on the user interface was quite difficult but very important.