Skip to content

A simple and very lightweight real-time public chat room inspired by old IRCs, runs without database, uses Socket.io for communication

Notifications You must be signed in to change notification settings

Toriality1/nirc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nIRC - IRC-style Chat App

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.

Features

  • 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)

Technology Stack

  • Backend: Node.js, Express, Socket.IO, TypeScript
  • Frontend: HTML5, SCSS, TypeScript, Socket.IO Client
  • Build Tool: Vite
  • Dev Tools: Nodemon, ts-node

Installation

  1. Clone the repository:
git clone https://github.com/Toriality1/nirc.git
cd nirc
  1. Install dependencies:
npm install

Development

To run the application in development mode:

npm run dev

This will start the server with hot-reloading capabilities using Nodemon. The application will be available at http://localhost:3000.

Production

To run the application in production mode:

npm run build
npm start

This will build the frontend assets and start the server in production mode.

Usage

  1. Open the application in your browser at http://localhost:3000.
  2. Enter a nickname (must be 1-16 characters and unique).
  3. Click "Connect" to join the chat room.
  4. Once connected, you'll see a list of online users on the left and the chat area on the right.
  5. Type your message in the input field at the bottom and press Enter or click "Send" to send a message.
  6. You'll see notifications when users join or leave the chat.

Configuration

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

License

This project is licensed under the MIT License.

About

A simple and very lightweight real-time public chat room inspired by old IRCs, runs without database, uses Socket.io for communication

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •