
This project is my own experiment to learn about HTML, CSS, JavaScript and WebSocket connection by creating a simple Web Based Live Chat platform that everyone can run it on their own machine and it’s open-sourced. This project only depends on Express JS for API and WebSocket library which is Socket IO in order to established connection among clients that are connected at the same time on whoever the host of this platform. The fun thing is, with some network knowledge, you can create a temporary live chat session with your friends actually without hosting it on dedicated server or VPS.
There is a docker version also of this project so you can easily run this on containerized form in case you worried about some security concern.
How to use?
In order to run this website or app, there are 2 ways, build from the source code and run in a docker container.
If you want to build and run from the source code, the steps is
- Open command prompt on your desired directory and clone the repository using git
git clone https://github.com/Fredo-Ronan/Live-Chat-Web.git
- cd to repo directory
cd Live-Chat-Web
- Install the packages
npm install
- That’s it, you can run by typing this command
npm run start
That should run the Live Chat Web on http://localhost:5000.
But if you want to run it in a docker container, you just need to install docker on your system and then just run docker compose up in the repo directory you’ve cloned and then it should automatically build and run from a docker container and visit http://localhost:5000.
Into the next level
Well, on the previous steps that i have explained it’s just running on localhost which mean it’s just can be accessed on your local machine on through your favorite browser. Actually, there is a trick to make that accessible from anywhere in the internet. This include some networking knowledge and i can’t tell it directly here. But if you want that, i will make the article for that, actually it’s relatively very easy but i don’t want anybody there take advantage of this tool, because this tool is completely private and nothing was stored anywhere, so you know what i’m talking about. Just let me know in the comment section bellow if you want.