Skip to content

Latest commit

 

History

History
67 lines (49 loc) · 3 KB

README.md

File metadata and controls

67 lines (49 loc) · 3 KB

💬 Chatify

Chatify is a real-time chat application built with the MERN Stack, integrating Socket.io for instant messaging and JWT for secure authentication and authorization. This project demonstrates an advanced chat system with live user status, global state management, and professional error handling, deployed for free!

🚀 Project Overview Chatify allows users to:

Log in and authenticate securely with JWT Engage in real-time messaging with live online/offline status updates Manage and view global states seamlessly using Zustand Experience smooth UI/UX powered by TailwindCSS and Daisy UI This project showcases my skills in full-stack development, real-time communication, and deployment using modern web technologies.

🛠️ Tech Stack Frontend: React, TailwindCSS, Daisy UI Backend: Node.js, Express, MongoDB Real-Time Communication: Socket.io for live messaging and online status State Management: Zustand for efficient global state management Authentication & Authorization: JSON Web Tokens (JWT) for secure access

🌟 Key Features User Authentication & Authorization: Secure login and registration implemented with JWT for role-based access control. Real-Time Messaging: Instant chat functionality powered by Socket.io for seamless communication. Online User Status: Real-time updates on user status (online/offline), managed with Socket.io and React Context for smooth user experience. Global State Management: Zustand is used to manage the global state, making data flow easy and reliable. Error Handling: Comprehensive error handling for both client-side and server-side issues, enhancing app stability and user experience. Responsive Design: Beautifully designed with TailwindCSS and Daisy UI for a responsive and modern look.

🏗️ Installation and Setup

Backend Setup Navigate to the backend folder: cd backend npm install

Start the backend server: npm start

Frontend Setup Navigate to the frontend folder: cd client npm install

Start the frontend server: npm start

Access the App: Open https://chat-app-m9ti.onrender.com/login in your browser to view Chatify in action!

🔒 Authentication and Authorization Chatify uses JWT for secure login and registration. Each user receives a token upon authentication, which provides access to the chat features and other restricted routes, ensuring user data privacy and security.

🛠️ Error Handling Both client-side and server-side error handling is implemented to improve user experience and application stability. Common issues are captured and handled gracefully to provide informative feedback to users.

🚀 Deployment Chatify is deployed on Render (or your preferred free hosting platform), providing a live environment where users can experience real-time messaging and authentication.

🤝 Contributing Contributions are welcome! If you find a bug or want to add a feature, feel free to open an issue or submit a pull request.

📧 Contact For questions or collaborations, reach out at [email protected].

📜 License This project is licensed under the MIT License.