nIRC (not-IRC or node-IRC) is a simple real-time chat application inspired by traditional IRC clients. Built with Node.js, Express, Socket.IO, and TypeScript, it provides a clean interface for users to connect and chat in real-time.
- Real-time messaging using Socket.IO
- No login required
- Live user list showing online participants
- Server notifications when users join or leave
- Responsive UI with a clean and simple design
- Input validation for nicknames (length, uniqueness)
- Backend: Node.js, Express, Socket.IO, TypeScript
- Frontend: HTML5, SCSS, TypeScript, Socket.IO Client
- Build Tool: Vite
- Dev Tools: Nodemon, ts-node
- Clone the repository:
git clone https://github.com/Toriality1/nirc.git
cd nirc- Install dependencies:
npm installTo run the application in development mode:
npm run devThis will start the server with hot-reloading capabilities using Nodemon. The application will be available at http://localhost:3000.
To run the application in production mode:
npm run build
npm startThis will build the frontend assets and start the server in production mode.
- Open the application in your browser at
http://localhost:3000. - Enter a nickname (must be 1-16 characters and unique).
- Click "Connect" to join the chat room.
- Once connected, you'll see a list of online users on the left and the chat area on the right.
- Type your message in the input field at the bottom and press Enter or click "Send" to send a message.
- You'll see notifications when users join or leave the chat.
The application uses environment variables via dotenv. Create a .env file in the root directory to customize:
# Environment
NODE_ENV=development
# Port (optional, defaults to 3000)
PORT=3000
This project is licensed under the MIT License.