Welcome to ChitChat, a powerful chat application built using Expo React Native and Firebase. ChitChat allows users to register, log in, and chat with their friends and family in real-time. The application is designed to be user-friendly and provides seamless connectivity for vibrant communication. While the core features are implemented, a status feature is planned for future development.
- User registration and login
- Real-time messaging
- User-friendly interface
- Future updates: Status feature
- Future updates: Group chats
- Installation
- Usage
- Technologies Used
- Future Updates
Before you begin, ensure you have met the following requirements:
- You have installed Node.js and npm.
- You have installed Expo CLI.
- You have an active Firebase account.
- Clone the repository
git clone https://github.com/moinkhan07/ChitChat.git cd ChitChat
- Install the dependencies
npm install
- Set up Firebase
- Go to the Firebase Console.
- Create a new project.
- Add a web app to your project.
- Copy the Firebase configuration object.
- Configure Firebase in the project
- Create a firebaseConfig.js file in the root of your project and add your Firebase configuration object:
// firebaseConfig.js export const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_AUTH_DOMAIN", projectId: "YOUR_PROJECT_ID", storageBucket: "YOUR_STORAGE_BUCKET", messagingSenderId: "YOUR_MESSAGING_SENDER_ID", appId: "YOUR_APP_ID", measurementId: "YOUR_MEASUREMENT_ID" };
- Run the application
expo start
- Open the ChitChat app on your device.
- Register a new account or log in with your existing credentials.
- Start chatting with your friends and family by selecting a contact.
- React Native (Expo): For building the mobile application.
- Firebase Authentication: For user registration and login.
- Firebase Firestore: For storing chat messages and user data.
- Status Feature: Allow users to post and view status updates similar to stories on other social media platforms.
- Group chat: Allow users to chat in group with the friend and family.
- Enhanced Notifications: Improve the push notification system for better user engagement.
- Media Sharing: Enable sharing of photos, videos, and other media within chats.
- Profile Customization: Allow users to customize their profiles with pictures and status messages.