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. 💬✨
- 🌟 Features
- 🛠️ Technologies Used
- ⚙️ Environment Variables
- 💻 Run Locally
- 🚀 Usage
- 🤝 Contributing
- 📜 License
- Real-time Messaging 🔥
- User Authentication and Authorization 🔐
- Two-Step Verification 🔄
- Profile Management 📝
- Message Notifications 🔔
-
Frontend:
-
Backend:
-
Database:
To configure the application, set up the following environment variables:
Create a .env file in the apps/website directory with:
NEXT_PUBLIC_API_ENDPOINT=http://localhost:8080
Create a .env file in the root directory with:
PORT=8080
DATABASE_URL=mongodb+srv://:@/chatbreeze?
AUTH_EMAIL= <your_email>
AUTH_EMAIL_PASS= <your_auth_email_password>
Replace , <db_password>, , <your_email>, and <your_auth_email_password> with your actual credentials.
Ensure you have the following installed:
- Node.js (>=18.x) 🟢
- MongoDB 🍃
- Git 🔗
git clone https://github.com/Thund3rHawk/ChatBreeze.git
cd ChatBreeze
npm install
npx prisma generate
npm run dev
Open another terminal:
cd apps/website
npm install
npm run dev
The frontend should now be running at http://localhost:3000.
- 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.
Contributions are always welcome! Please refer to the CONTRIBUTING.md file for guidelines on how to contribute. 🚀
This project is licensed under the MIT License. See the LICENSE file for more details. 📄