Skip to content

A chat messaging app, as part of curriculum of Udemy's course "iOS & Swift - The Complete iOS App Development Bootcamp" by Angela Yu.

Notifications You must be signed in to change notification settings

guilhermebrv/flash-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Flash Chat Messaging App

This project is a culmination of the skills acquired during the iOS & Swift - The Complete iOS App Development Bootcamp by Angela Yu on Udemy.

Project Overview

Key Features

  • Swift Package Manager + Firebase: Utilized the Swift Package Manager to integrate Firebase services, enabling user authentication (ensuring secure user registration, login, and logout) and cloud-based storage for message data (storing messages, senders, and timestamps, facilitating real-time data synchronization and storage). Error alerts are displayed in case of authentication issues.

  • Messages on a Table View: Utilized table view cells to display messages, senders, and timestamps, providing a structured and organized way to view and interact with the message data.

  • Customized Cell Sizing Logic: Implemented a dynamic cell sizing logic to ensure each message cell adapts to its content and respect constraints, enhancing the overall user interface.

  • IQKeyboardManager Integration: Integrated IQKeyboardManager using Swift Package Manager to handle keyboard interactions seamlessly while users input their messages.

  • MVVM Design Pattern with ViewCode: Transformed the project architecture to adhere to the MVVM (Model-View-ViewModel) design pattern using ViewCode. This adaptation from the initial MVC (Model-View-Controller) and Storyboard structure in the course's project sketch resulted in a more organized and modular codebase.

How to Use

  1. Clone the Repository:
    git clone https://github.com/guilhermebrv/flash-chat.git
    
  2. Open in Xcode:
  • Launch the project in Xcode and run it on your preferred iOS simulator or device.
  1. Explore and start messaging:
  • Register, log in, and log out securely using FirebaseAuth.
  • Input messages, and witness real-time updates as the data syncs with Firebase Firestore.
  • Experience a smooth and intuitive messaging interface with dynamic cell sizing and keyboard management.

Acknowledgments

  • Angela Yu - Udemy Instructor: Grateful for the comprehensive iOS development course that inspired and equipped me to develop this chat messaging app.

About

A chat messaging app, as part of curriculum of Udemy's course "iOS & Swift - The Complete iOS App Development Bootcamp" by Angela Yu.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages