Welcome to Chatterbox, a WhatsApp clone, but with a twist of awesome! 🎉
Chatterbox is packed with features that make messaging fun and easy. Here’s what you can do:
- Real-time Messaging: Chat with your friends in real-time. It's like magic, but faster! 🧙♂️✨
- Emoji Support: Express yourself with a wide range of emojis. Why use words when you can use a smiling poop? 💩
- Media Sharing: Share photos, videos, and more. Because a picture is worth a thousand words, and a video is worth a million. 📸🎥
- Dark Mode: Chatting late at night? Switch to dark mode and save your eyes from strain. 🌙🕶️
- Profile Pictures: Personalize your profile with a picture. Because a face without a picture is like a book without a cover. 📸
- Delete/Unsend Messages: Made a mistake? No worries! Delete or unsend your messages. Because we all deserve a second chance. ♻️
- Signin/Login Page: Securely sign in or create an account to start chatting. Because a good conversation starts with a secure entry. 🔐
Chatterbox is built using the best tools in the industry:
- React: For building a fast and responsive UI. Because nobody likes waiting. 🏎️💨
- Chakra UI: For beautiful and accessible components. Making your app look good, one component at a time. 🌟
- Socket.io: For real-time communication. It’s like telepathy, but real. 🧠➡️🧠
- Formik & Yup: For form handling and validation. Because we like to keep things neat and tidy. 🧹
- Node.js: For building the server-side. Because JavaScript should run everywhere. 🚀
- Express: For handling server routes and middleware. Making server-side development simple and fun. 📦
- PostgreSQL & Redis: PostgreSQL for reliable relational data storage and Redis for blazing-fast caching. 🗄️🔥
- Deployment: Digital Ocean for robust server hosting and Netlify for seamless frontend deployment. Because we want it fast and reliable. 🌐
Getting Chatterbox up and running is as easy as pie. Follow these steps:
-
Clone the repository:
git clone https://github.com/adedolapoadegboye/chatterbox.git
-
Navigate to the project directory:
cd chatterbox
-
Install dependencies:
npm install
-
Start the development server:
npm start
Once you have Chatterbox running, you can start chatting away:
- Create an Account: Sign up with your email and create a snazzy username.
- Add Friends: Search for your friends and add them to your list. The more, the merrier! 🎉
- Start Chatting: Send messages, share media, and enjoy seamless communication.
Want to contribute to Chatterbox? Great! Here’s how you can help:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Open a pull request.
We welcome all contributions, whether it’s fixing bugs, adding new features, or improving the documentation. Let’s make Chatterbox even better together!
We're excited about the future of Chatterbox and have some great features planned for the next version:
- Group Chats: Start a group chat and bring everyone together. Because friends who chat together, stay together. 🤗
- Customizable Themes: Personalize your chat experience with different themes. Because your chat should look as good as you do. 🎨
- Voice and Video Calls: Connect with friends not just through text but also through voice and video. Talk face-to-face, no matter where you are. 📞🎥
- End-to-End Encryption: Keep your conversations secure with top-notch encryption. Because privacy matters. 🔒
- Status Updates: Share your mood, activity, or anything else with your friends through status updates. 📢
- Read Receipts: Let users know when their messages have been read. Because no one likes being left on read. ✅👀
- Typing Indicators: Show when someone is typing a message. It’s like seeing their thoughts form in real-time. ✍️
- Message Reactions: Allow users to react to messages with emojis. Because sometimes a 👍 says it all. ❤️😂👍
- Scheduled Messages: Send messages at a later time. Perfect for wishing happy birthdays at midnight. 🎂🎉
- Pinned Messages: Pin important messages at the top of the chat for easy reference. 📌
- Advanced Search: Search through messages, media, and links quickly. Finding that one meme has never been easier. 🔍
- Message Forwarding: Easily forward messages to other chats or contacts. Sharing is caring. 📤
- File Sharing: Send documents, PDFs, and other files seamlessly. 📁
- Contact Sharing: Share contact details with a single tap. Networking made easy. 📇
- Location Sharing: Share your real-time location with friends. Meeting up just got simpler. 📍
- Multi-device Sync: Access your chats from multiple devices. Stay connected, anywhere and anytime. 📱💻
- Notification Customization: Customize notification sounds and settings for different chats. Because not all notifications are created equal. 🔔
- Data Backup: Backup chat history and media to the cloud. Never lose a message again. ☁️
- Public Channels: Join and create public channels for broader community engagement. Think of it as a chat room for specific interests. 📢
- Bots and Integrations: Add bots for tasks like reminders, weather updates, or integrating with other services. Automate the mundane. 🤖
- Polls and Surveys: Create polls in group chats for quick feedback. Making decisions democratically. 📊
- Event Scheduling: Schedule events and sync them with your calendar. Never miss a hangout. 📅
- Two-Factor Authentication (2FA): Add an extra layer of security for user accounts. Because better safe than sorry. 🔐
- Self-Destructing Messages: Send messages that disappear after a set time. Perfect for those secret chats. ⏱️
- Content Moderation Tools: Tools for group admins to moderate content and manage members. Keeping the chat safe and friendly. 🛡️
This project is licensed under the MIT License. See the LICENSE file for details.
Enjoy using Chatterbox? Don’t forget to star the repository! ⭐
Happy chatting! 💬🎉