Skip to content

edilsonmatola/ChatifyApp-flutter

Repository files navigation

Leia este guia em Português

Chatify App - Realtime Chat App with Flutter and Firebase

This is a realtime chat application built with Flutter and Firebase. The app allows users to create accounts, find and add friends, and send and receive messages in real time with enriched User-Experience.

It uses Firebase Cloud Firestore as well as the Firebase Authentication and Firebase Storage package which equips this app with a cloud-based NoSQL database and secure authentication methods.

Features

Authentication: Users can create accounts, sign in, and sign out using their email and password. Realtime Messaging: Users can send and receive messages in real time. Search and Add Friends: Users can search for other users by email address and add them as friends. User Profile: Users can view their own profile, edit their profile picture, and view their friend list.

Demo

Chatify-app-preview

Dependencies

  1. Firebase_Core

  2. Firebase_Storage

  3. Firebase_Analytics

  4. Firebase_Auth

  5. Cloud_Firestore

  6. Provider

  7. Get_It

  8. File_Picker

  9. Flutter_Spinkit

  10. Flutter_Keyboard_Visibility

  11. Timeago

Installation

1. Clone the repository
git clone https://github.com/edilsonmatola/ChatifyApp-flutter.git
2. Move to the desired folder
cd ChatifyApp-flutter
  1. Create Firebase Project
  2. Enable Authentication
  3. Make Firestore Rules
  4. Create Android, iOS & Web Apps
7. To run the app, simply write the following commands:
flutter pub get
# flutter emulators --launch "emulator_id" (to get Android Simulator)
open -a simulator (to get iOS Simulator)
flutter run
flutter run -d chrome --web-renderer html (to see the best output)

Contributing

Contributions to the app are welcome! If you'd like to contribute, please take a moment to review the CONTRIBUTING file. This file outlines the guidelines and processes for contributing to Habitual.

If you have any questions or concerns about the contributing process, please don't hesitate to reach me out here. I'm always happy to help new contributors get up to speed.

License

This project is licensed under the MIT License. Feel free to use it as a starting point for your own projects!