https://github.com/thund3rhawk/chatbreeze
FullStack chat application
https://github.com/thund3rhawk/chatbreeze
expressjs mongodb-atlas nextjs14 node-typescript prisma-orm shadcnui socket-io tailwindcss typescript
Last synced: 7 months ago
JSON representation
FullStack chat application
- Host: GitHub
- URL: https://github.com/thund3rhawk/chatbreeze
- Owner: Thund3rHawk
- License: mit
- Created: 2024-06-03T07:19:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-16T09:26:54.000Z (8 months ago)
- Last Synced: 2025-02-16T10:26:51.884Z (8 months ago)
- Topics: expressjs, mongodb-atlas, nextjs14, node-typescript, prisma-orm, shadcnui, socket-io, tailwindcss, typescript
- Language: TypeScript
- Homepage: https://chatbreeze.vercel.app/
- Size: 683 KB
- Stars: 3
- Watchers: 0
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
🚀 ChatBreeze
=============Welcome to **ChatBreeze**, a full-stack real-time chat application built with modern web technologies. This app supports multiple users, private and group messaging, and is designed to be **scalable** and **maintainable**. 💬✨
📜 Table of Contents
--------------------* [🌟 Features](#-features)
* [🛠️ Technologies Used](#️-technologies-used)
* [⚙️ Environment Variables](#️-environment-variables)
* [💻 Run Locally](#-run-locally)
* [🚀 Usage](#-usage)
* [🤝 Contributing](#-contributing)
* [📜 License](#-license)
🌟 Features
-----------* **Real-time Messaging** 🔥
* **User Authentication and Authorization** 🔐
* **Two-Step Verification** 🔄
* **Profile Management** 📝
* **Message Notifications** 🔔
🛠️ Technologies Used
---------------------* **Frontend**:
* [Next.js](https://nextjs.org/)
* [Tailwind CSS](https://tailwindcss.com/)
* **Backend**:
* [Node.js](https://nodejs.org/)
* [Express](https://expressjs.com/)
* [Socket.IO](https://socket.io/)
* [Prisma ORM](https://www.prisma.io/)
* **Database**:
* [MongoDB](https://www.mongodb.com/)
⚙️ Environment Variables
------------------------To configure the application, set up the following environment variables:
### 🔹 Frontend (Website)
Create a .env file in the apps/website directory with:
` NEXT_PUBLIC_API_ENDPOINT=http://localhost:8080 `
### 🔹 Backend (Server)
Create a .env file in the **root** directory with:
` PORT=8080 `
` DATABASE_URL=mongodb+srv://:@/chatbreeze? `
`AUTH_EMAIL= `
`AUTH_EMAIL_PASS= `
Replace __, __, __, __, and __ with your actual credentials.
💻 Run Locally
--------------### Prerequisites
Ensure you have the following installed:
* **Node.js** (>=18.x) 🟢
* **MongoDB** 🍃
* **Git** 🔗
### Clone the Repository
` git clone https://github.com/Thund3rHawk/ChatBreeze.git `
` cd ChatBreeze `
### Install and Run the Backend
` npm install `
` npx prisma generate `
` npm run dev `
### Install and Run the Frontend
Open another terminal:
` cd apps/website `
` npm install `
` npm run dev `
The frontend should now be running at **http://localhost:3000.**
🚀 Usage
--------* **Sign Up or Log In**: New users can sign up and verify their email using an OTP. Existing users can log in with their credentials.
* **Create or Join Chats**: Start a chat by searching for a user by their email.
* **Send Messages**: Type and send messages in real-time. Receive notifications for new messages.
🤝 Contributing
---------------Contributions are always welcome! Please refer to the [CONTRIBUTING.md](https://github.com/Thund3rHawk/ChatBreeze/CONTRIBUTING.md) file for guidelines on how to contribute. 🚀
📜 License
----------This project is licensed under the **MIT License**. See the [LICENSE](https://github.com/Thund3rHawk/ChatBreeze/blob/main/LICENSE) file for more details. 📄