Skip to content
IRC like chat implementation
TypeScript JavaScript Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
backend
common
frontend
public
.dockerignore
.editorconfig
.gitignore
.npmignore
.travis.yml
Dockerfile
LICENSE
README.md
package.json
tsconfig.frontend.json
tsconfig.json
webpack.config.js
yarn.lock

README.md

Pulina

travis coveralls npm

Pulina is mininal IRC like chat implementation with a Web user interface. It requires no registration, users can just connect, choose a nickname and join chat rooms. Unlike in many other chat implementations, messages are not stored on the server side anywhere.

Requirements

Installation

Clone this Git repository somewhere, make sure you have Yarn installed and then proceed by installing dependencies and compiling static assets:

$ yarn install
$ yarn run build

After that you can start the application with:

$ yarn start

Which starts the backend HTTP server in port 3000. You can change the default port with PORT environment variable.

Usage

When you open the user interface in a Web browser (by default at URL http://localhost:3000) you will be greeted with a prompt asking for a nickname. Once you have given a nickname, the chat application will ask you which chat room (a.k.a channel) you wish to join. After that, you can start chatting with other people on that room.

You can also input these commands into the message input:

/join <#channel>

Joins a new channel.

/part [#channel]

Leaves specified channel. If name of the channel is omitted, the current channel will be used instead.

TODO

Currently Pulina is very very minimal and does not provide many features which would make it more useful. Some things that I might add later would be:

  • Changing the nickname without having to reconnect.
  • Channel lists and searching for channels.
  • Password protected channels.
  • Private messages.
  • Channel operators who have privileges to ban other users from a channel.
  • Flood protection.
  • Improvements to the user interface in general, such as:
    • Keyboard shortcuts.
    • Rich text support.
    • URL previews like in Slack.

Icon made by Freepik from www.flaticon.com.

You can’t perform that action at this time.