A modern, real-time chat application built with Node.js and Socket.IO that allows users to join different chat rooms and communicate instantly.
-
Node.js
- Runtime environment for executing JavaScript on the server
- Handles server-side logic and processing
- Manages server configuration and routing
-
Express.js
- Web application framework for Node.js
- Handles HTTP requests and routing
- Serves static files and manages middleware
- Provides a robust API for building web applications
-
Socket.IO
- Enables real-time, bidirectional communication between web clients and servers
- Handles instant message delivery
- Manages user connections and disconnections
- Provides event-based communication
-
HTML5
- Structures the web pages
- Provides semantic markup for better accessibility
- Creates the basic layout of the application
-
CSS3
- Styles the application with modern design
- Implements responsive design for different screen sizes
- Creates animations and transitions
- Handles layout and visual presentation
-
JavaScript (Vanilla)
- Manages client-side interactivity
- Handles DOM manipulation
- Processes user input and form submissions
- Manages real-time updates through Socket.IO client
- Moment.js
- Handles date and time formatting
- Manages timezone conversions
- Formats message timestamps
- Real-time messaging
- Multiple chat rooms
- User join/leave notifications
- Responsive design
- Modern UI with animations
- User list in each room
- Timestamp for messages
- Welcome messages
- Mobile-friendly interface
- Write the front-end
- Install dependencies:
npm install
- Start the server:
npm start
- Open your browser and navigate to
http://localhost:3000
├── app.js # Main server file
├── public/ # Static files
│ ├── css/ # Stylesheets
│ ├── js/ # Client-side JavaScript
│ └── img/ # Images
└── utils/ # Utility functions
├── messages.js # Message formatting
└── users.js # User management