ChatApp 🗨️
A real-time chat application built with the MERN stack, JWT Authentication, TailwindCSS, DaisyUI, and Socket.IO. Dive into a seamless chatting experience with a modern UI, real-time communication, and secure user authentication.
Features 🌟
- User Authentication:
Secure login and signup with JWT-based authentication.
- Real-Time Chat:
Experience instant messaging powered by Socket.IO.
- Modern UI with Glassmorphism:
Built with TailwindCSS, enhanced by DaisyUI, and styled with a stunning glassmorphic design for a sleek and futuristic interface.
- User-Friendly Design:
Intuitive and clean interface for effortless chatting.
- Persistent Sessions:
Stay logged in with secure token storage and automatic session renewal.
- Lightweight Backend:
Efficient API endpoints for all core functionalities, including chat history retrieval.
Tech Stack 🛠️
Frontend
- React.js with TailwindCSS, DaisyUI, and glassmorphic styling
- Axios for API calls
Backend
- Node.js and Express.js
- MongoDB with Mongoose for database modeling
- JWT for secure authentication
Real-Time Communication
Screenshots 📸
Login Screen |
Chat Interface |
 |
 |
Getting Started 🚀
Prerequisites
- Node.js and npm installed
- MongoDB database setup
Setup Instructions
Clone the Repository
git clone https://github.com/your-username/chatapp.git
cd chatapp
Backend Setup
- Navigate to the
server
directory: cd server
- Install dependencies:
npm install
- Create a
.env
file with the following variables: PORT=5000
MONGO_URI=your-mongodb-connection-string
JWT_SECRET=your-secret-key
- Start the server:
npm start
Frontend Setup
- Navigate to the
client
directory: cd ../client
- Install dependencies:
npm install
- Start the development server:
npm start
Usage 🖥️
- Sign up or log in to your account.
- Enter a chat room or start a private conversation.
- Enjoy real-time messaging with a beautiful glassmorphic interface.
Folder Structure 📂
Backend (server/
)
models/
: Mongoose schemas for users and messages
routes/
: API endpoints
controllers/
: Business logic for authentication and messaging
middleware/
: JWT verification
Frontend (client/
)
components/
: Reusable UI components
pages/
: Main views (e.g., login, chat)
context/
: Context API setup for global state management
Contributing 🤝
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a new branch (
feature/your-feature
)
- Commit your changes
- Push to the branch
- Open a pull request
Feel free to reach out with questions, suggestions, or contributions!
Developer: Aniket Misra