👋 Hello World!
This project is based on the idea that two or more parties create a temporary room on the platform and communicate privately for a certain period of time. No account is required! Just choose your credentials.
Alice and Bob meet physically and decide on the credentials to be used when creating a room and the time when they will be using the plaform.
Alice may select the Room
(string), say Earth
and Bob selects the Passcode
(string), say 1234
.
When the agreed time reaches, both use the same credentials on the platform to access the room.
A chat window is opened and once connected, communication may begin.
Here is a temporary demo of TeleMate: Click Here
- Lightweight and fast
- Multiple chat windows for different rooms
- Dark/Light mode
- Command line interface
- No database or tracking
- Encryption
- Third-party server option via URL (work in progress)
Whenever a new room is created, a chat window pops up.
The title of the chat window follows the format: TM-{room} - [{users}]
. room
represents the actual room identifier in uppercase and users
show the number of users in that room.
Other users in the room are notified of who has joined or disconnected.
To begin chatting, focus the chat window and type the message. Hit Enter
key to send the message.
Once you're done, close the chat window to disconnect.
To get started with development, follow these steps:
- Fork or Clone this repository:
git clone https://github.com/henryhale/telemate.git
- Navigate to the project directory:
cd telemate
- Install dependencies:
pnpm install
- Run development server:
pnpm dev
- Separately run frontend dev server:
pnpm exec vite client
- Building for production:
pnpm serve
Supporting wide range of browsers is the goal. Modern browsers, most specifically the latest versions of Chrome, Firefox, Safari, and Edge (for desktop and mobile devices) are supported.
A big shoutout to these awesome projects, this project heavily relies on them;
- xterminal - Build web-based command line interfaces
- winbox - Modern HTML5 window manager for the web.
- socket.io - node.js realtime framework server
- helmet - help secure Express/Connect apps with various HTTP headers
- express - Fast, unopinionated, minimalist web framework
- toobusy-js - Don't fall over when your Node.JS server is too busy. Now without native dependencies!
Thank you for your interest in this project! Contributions from the developer community are greatly valued and appreciated, and your efforts will help make this project even better.
Copyright (c) 2023 Henry Hale.
Released under the MIT License.