Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/s-shemmee/chatnow

ChatNow is a real-time web chat application powered by Firebase, React, and TypeScript. It provides users with a seamless platform for engaging in instant conversations, sharing messages, and more.
https://github.com/s-shemmee/chatnow

chatapp firebase firebase-auth firebase-cloud-messaging firebase-database firebase-firestore material-ui open-source project-based-learning reactjs typescript vercel vercel-cli webchatapp

Last synced: 2 days ago
JSON representation

ChatNow is a real-time web chat application powered by Firebase, React, and TypeScript. It provides users with a seamless platform for engaging in instant conversations, sharing messages, and more.

Awesome Lists containing this project

README

        

# ChatNow - Real-time Web Chat Application 🚀

## Overview

ChatNow is a real-time web chat application built using Firebase for backend services and React for the frontend. This project was created as a learning and practice exercise to explore Firebase integration, TypeScript, and other web development technologies.

## Preview

![Screenshot](https://github.com/s-shemmee/ChatNow/assets/56132945/3a36d146-1896-4a5e-bc07-b2d86f955c8b)

## 💻 Technologies Used

### Frontend

- **React:** JavaScript library for building user interfaces.
- **TypeScript:** Typed superset of JavaScript for improved code quality.
- **Material-UI:** React components for a responsive design.

### Backend

- **Firebase Authentication:** User authentication and authorization.
- **Firebase Firestore:** Cloud-based NoSQL database for storing messages and user data.
- **Firebase Storage:** Scalable object storage for multimedia content.
- **Firebase Cloud Functions:** Serverless functions for additional backend logic.

## 🌟 Features

- **Real-time Chat:** Engage in instant conversations.
- **Firebase Authentication:** User management with authentication.
- **User Status Tracking:** Monitor online/offline status.
- **Message History:** Store messages in Cloud Firestore.
- **Media Support:** Share images and text messages.
- **Emoji Support:** Express yourself with a rich set of emojis.
- **Timestamps:** Provide context with message timestamps.
- **TypeScript Integration:** Enhance code readability.
- **Modern UI Design:** Ensure a seamless user experience.

### 🔮 Upcoming Features

Here's a sneak peek into what's coming next:

- **Group Chats:** Simultaneously converse with multiple users.
- **Read/Unread Messages:** Easily keep track of your messages.
- **Archive Chats:** Organize conversations for future reference.
- **Advanced Message Management:** Control messages with delete, forward, and copy options.
- **Customizable Themes:** Personalize your chat environment.
- **Enhanced User Profiles:** Add more details for a personalized experience.
- **Improved Notifications:** Receive enhanced notifications for new messages and updates.

## 🏁 Getting Started

### 📥 Installation

To start using ChatNow, follow these steps:

1. **Clone the repository.**
```bash
git clone https://github.com/s-shemmee/ChatNow.git
```

2. **Install dependencies.**
```bash
cd ChatNow
npm install
```

3. **Set up Firebase.**
- Create a new project on [Firebase](https://firebase.google.com/).
- Obtain your Firebase configuration and update `firebase.tsx`.
- Set up Firestore and Storage in your Firebase project.

4. **Run the application.**
```bash
npm run dev
```

5. **Open the app in your browser:**
[http://localhost:3000](http://localhost:3000).

## ⚙️ Usage

1. **Create Account:**
- Sign up or log in if you already have an account.

2. **Start a Chat:**
- Initiate a new chat by searching for a user.

3. **Enjoy Real-time Chat:**
- Send messages and images in real-time.

## 🤝 Contributing

Contributions are welcome! If you encounter issues or have suggestions, open an issue or submit a pull request.

## 📝 License

This project is licensed under the [MIT License](LICENSE).