Table of Contents
Mobile full stack WhatsApp copy app where users can register, login and message each other in a chatroom. Messages are stored in Google Firebase.
This is a personal learning project aimed to teach me the Table View. Table Views are used everywhere from the Mail app to Messages app. It's a crucial part of every iOS app. Thus, I want to get to grips with Table Views, creating custom cells, and making my own cloud-based backend database.
Language | Swift |
Notable Technology Utilized |
|
Project is completed.
- Register new users
- Login for existing users
- Chat window - custom cells for different users
- Chat window - Scrollable and ordered list
- Chat window - Retrieval of cloud stored messages
- Chat window - Keyboard pushes up screen
- Chat window - Send a message
- Chat window - Logout
- User can register a new account by typing in a unique name and password longer than 6 characters.
- Registration is created through FireBase.
- Existing users can login through the login screen
- Authentication is done through FireBase.
- Logged in user will have a custom .XIB message cell compared to the sender
- Custom cells will hide and display cell contents based on back-end logic
- User can scroll up for previous messages
- Messages are ordered based on the message created timestamp
- When the user open the chatView it will trigger code to fetch the messages stored in the Cloud Firebase FireStore
- The cloud messages will provide data to the front-end such as sender, receipient, text message, timestamp
- When the user select the textbox to type the on-screen keyboard will appear and push the app upwards
- This is done using a 3rd party library named IQKeyboardManager
- User can type in a message and click the send button. This will send the message to the cloud storage
- When the message is sent it will instantly refresh the UI with the new message and scroll down automatically
- User can log out and return to the home screen
- Ensure XCode is installed (only available on MacOS)
- Install the 3rd party pods by executing in terminal "pod install" in the project directory
- Open the "Flash Chat iOS13.xcworkspace" file in XCode
- Once the project is open you can click the play button at the top of the IDE to run the iPhone simulator or use a physical device