Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/henryhale/telemate
✉️ A small-scale messaging application for devs
https://github.com/henryhale/telemate
chat cli hackers henryhale js messaging-app self-hosted socket-io telemate terminal winbox-js
Last synced: 3 days ago
JSON representation
✉️ A small-scale messaging application for devs
- Host: GitHub
- URL: https://github.com/henryhale/telemate
- Owner: henryhale
- License: mit
- Created: 2023-10-22T20:44:19.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-06-06T06:30:36.000Z (5 months ago)
- Last Synced: 2024-06-06T07:48:09.984Z (5 months ago)
- Topics: chat, cli, hackers, henryhale, js, messaging-app, self-hosted, socket-io, telemate, terminal, winbox-js
- Language: JavaScript
- Homepage: https://telemate.onrender.com
- Size: 156 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# TeleMate
A small-scale messaging application for devs![](./media/screenshot.png)
## Overview
:wave: 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.
## How it works?
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.
## Live Demo
Here is a _temporary_ demo of TeleMate: [Click Here](https://telemate.onrender.com)
## Features
- [x] Lightweight and fast
- [x] Multiple chat windows for different rooms
- [x] Dark/Light mode
- [x] Command line interface
- [x] No database or tracking
- [x] Encryption
- [ ] Third-party server option via URL _(work in progress)_## Anatomy of UI
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.
![](./media/chat.png)
## Development
To get started with development, follow these steps:
### Prerequisites
- [Node.js](https://nodejs.org) (>=18)
- [pnpm](https://pnpm.io/) (>=7)### Setup
1. Fork or Clone this repository: `git clone https://github.com/henryhale/telemate.git`
2. Navigate to the project directory: `cd telemate`
3. Install dependencies: `pnpm install`
4. Run development server: `pnpm dev`
5. Separately run frontend dev server: `pnpm exec vite client`
6. Building for production: `pnpm serve`## Browser Support
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.
## Acknowledgements
A big shoutout to these awesome projects, this project heavily relies on them;
- [xterminal](https://github.com/henryhale/xterminal) - Build web-based command line interfaces
- [winbox](https://github.com/nextapps-de/winbox/) - Modern HTML5 window manager for the web.
- [socket.io](https://github.com/socketio/socket.io) - node.js realtime framework server
- [helmet](https://github.com/helmetjs/helmet/) - help secure Express/Connect apps with various HTTP headers
- [express](https://github.com/expressjs/express/) - Fast, unopinionated, minimalist web framework
- [toobusy-js](https://github.com/STRML/node-toobusy) - Don't fall over when your Node.JS server is too busy. Now without native dependencies!## Conclusion
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.## License
Copyright (c) 2023 [Henry Hale](https://github.com/henryhale/).
Released under the [MIT License](./LICENSE.md).