Talker is a real-time chat application built with a Node.js backend and a React frontend. It supports user authentication, profile management, and real-time messaging using Socket.IO. The app is designed with a responsive and customizable user interface, leveraging Tailwind CSS and DaisyUI for styling.
-
User Authentication
- Signup, Login, and Logout functionalities for seamless user experience.
-
Profile Management
- Users can update their profile picture and manage their personal details.
-
Real-time Messaging
- Instant communication between users, powered by Socket.IO.
-
Responsive UI
- Fully responsive design built with Tailwind CSS and DaisyUI.
-
Theme Customization
- Users can personalize their experience with theme-switching options.
- bcryptjs: - For hashing passwords securely.
- cloudinary: - For managing media uploads (e.g., profile pictures).
- cookie-parser: - To handle cookies.
- dotenv: - For environment variable management.
- express: - Web framework for building the backend server.
- jsonwebtoken: - For secure user authentication with tokens.
- mongoose: - MongoDB object modeling for database operations.
- socket.io: - For real-time communication between the server and clients.
- nodemon: - For automatic server restarts during development.
- axios: - For making API requests to the backend.
- lucide-react: - For modern, customizable icons.
- react: - Frontend library for building UI components.
- react-dom: - For DOM rendering of React components.
- react-hot-toast: - For displaying notifications and alerts.
- react-router-dom: - For routing and navigation.
- socket.io-client: - Client-side integration for real-time messaging.
- zustand: - State management library for React.
- Tailwind CSS: Utility-first CSS framework for responsive and modern design.
- DaisyUI: Component library built on Tailwind CSS for pre-styled elements.