https://github.com/dipeshdimi/chatapp
💬🔥 A chat application built using React, Firebase (Firestore database), CSS, and EmailJS (for OTP verification).
https://github.com/dipeshdimi/chatapp
css3 emailjs firebase firebase-auth firestore-database javascript react-js
Last synced: 2 months ago
JSON representation
💬🔥 A chat application built using React, Firebase (Firestore database), CSS, and EmailJS (for OTP verification).
- Host: GitHub
- URL: https://github.com/dipeshdimi/chatapp
- Owner: dipeshdimi
- Created: 2024-03-24T00:41:37.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-21T19:28:11.000Z (almost 2 years ago)
- Last Synced: 2025-03-21T20:46:36.691Z (about 1 year ago)
- Topics: css3, emailjs, firebase, firebase-auth, firestore-database, javascript, react-js
- Language: JavaScript
- Homepage: https://chat-application-m55y.vercel.app
- Size: 9.47 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Chat Application - [Live Demo](https://chat-application-m55y.vercel.app/)
A chat application built using React, Firebase (Firestore database), CSS, and EmailJS (for OTP verification).
### Desktop :-
### Mobile :-

## Table of Contents
- [Chat Application](#chat-application)
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [Features](#features)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Authentication](#authentication)
- [Conversations](#conversations)
- [Message Types](#message-types)
- [Logout](#logout)
- [License](#license)
## Introduction
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.
## Features
- 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
## Getting Started
Follow these steps to set up and run this Chat App locally.
### Prerequisites
Ensure you have the following tools installed:
- [Node.js](https://nodejs.org/)
- [npm](https://www.npmjs.com/)
- Firebase account with Firestore enabled
### Installation
1. **Clone the repository:**
```bash
git clone https://github.com/dipeshdimi/ChatApplication.git
```
2. **Install dependencies:**
```bash
npm install
```
3. **Set up Firebase:**
- Create a Firebase project and enable Firestore.
- Obtain your Firebase configuration and update the app accordingly.
4. **Start the app:**
```bash
npm start
```
## Usage
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.
## Authentication
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.
## Conversations
Users can search for other registered users and initiate conversations with them. Conversations can be deleted entirely from the user's side.
## Message Types
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.
## Logout
Users can log out of the app securely, ensuring the privacy of their data.
## License
This project is licensed under the [MIT License](LICENSE).