Chat Application - Live Demo
A chat application built using React, Firebase (Firestore database), CSS, and EmailJS (for OTP verification).
This is a real-time chat application that enables users to register, authenticate, and engage in conversations with other registered users. It supports various message types, including text, pictures, videos, and voicemails.
- User registration with username, email, password, and picture (optional)
- User authentication using Firebase
- User-to-user conversations
- Message types: text, picture, video, and voicemail
- Conversation deletion
- Logout functionality
Follow these steps to set up and run this Chat App locally.
Ensure you have the following tools installed:
-
Clone the repository:
git clone https://github.com/dipeshdimi/ChatApplication.git
-
Install dependencies:
npm install
-
Set up Firebase:
- Create a Firebase project and enable Firestore.
- Obtain your Firebase configuration and update the app accordingly.
-
Start the app:
npm start
Once the app is running, open it in your web browser and follow the on-screen instructions for registration and login. Explore the various features and functionalities of the chat app.
User authentication is handled securely using Firebase. Users can register with their email, username, password, and picture (optional). An OTP will be shared (via EmailJS to the registered email address which would be required for further verification. Subsequent logins require the user's email and password.
Users can search for other registered users and initiate conversations with them. Conversations can be deleted entirely from the user's side.
The app supports different message types:
- Text: Send and receive text messages.
- Picture: Share images with other users.
- Video: Send and view video messages.
- Voicemail: Record and send voice messages.
Users can log out of the app securely, ensuring the privacy of their data.
This project is licensed under the MIT License.