tiny-server-essentials
Version:
A good utility toolkit to unify Express v5 and Socket.IO v4 into a seamless development experience with modular helpers, server wrappers, and WebSocket tools.
85 lines (54 loc) โข 3.63 kB
Markdown
<div align="center">
<p>
<a href="https://discord.gg/TgHdvJd"><img src="https://img.shields.io/discord/413193536188579841?color=7289da&logo=discord&logoColor=white" alt="Discord server" /></a>
<a href="https://www.npmjs.com/package/tiny-server-essentials"><img src="https://img.shields.io/npm/v/tiny-server-essentials.svg?maxAge=3600" alt="NPM version" /></a>
<a href="https://www.npmjs.com/package/tiny-server-essentials"><img src="https://img.shields.io/npm/dt/tiny-server-essentials.svg?maxAge=3600" alt="NPM downloads" /></a>
<a href="https://www.patreon.com/JasminDreasond"><img src="https://img.shields.io/badge/donate-patreon-F96854.svg?logo=patreon" alt="Patreon" /></a>
<a href="https://ko-fi.com/jasmindreasond"><img src="https://img.shields.io/badge/donate-ko%20fi-29ABE0.svg?logo=ko-fi" alt="Ko-Fi" /></a>
</p>
<p>
<a href="https://nodei.co/npm/tiny-server-essentials/"><img src="https://nodei.co/npm/tiny-server-essentials.png?downloads=true&stars=true" alt="npm installnfo" /></a>
</p>
</div>
# ๐ Tiny Server Essentials
**A modular and strict toolkit for building scalable Express v5 + Socket.IO v4 apps with ease.**
## ๐ง What is this?
This project is a **collection of reusable server-side modules** designed to simplify and improve how you build modern real-time applications using:
* โ
**Express v5** (modern middleware chaining)
* ๐ **Socket.IO v4** (reliable WebSocket communication)
* ๐งฉ **Strict helpers** and **validation tools** to interconnect both layers with minimal effort
Instead of creating everything from scratch, this toolkit provides **well-structured classes and utilities** that speed up development while promoting clarity and separation of concerns.
## ๐ What can it do?
With this toolkit, you can:
* โ๏ธ Manage a single unified HTTP(S) server for both REST and WebSockets
* ๐ Register and validate domain names for secure multi-tenant setups
* ๐งพ Normalize, extract and match IP addresses with fallback strategies
* ๐ก Simplify bi-directional communication logic using Socket.IO over a clean `TinyIo` wrapper
* ๐งช See it all in action with fully working examples
## ๐๏ธ Where is everything?
You can find detailed documentation about each module in the [docs overview](./docs), where all core components like Express, Instance, Io, and Utils are explained clearly.
Also see [`/docs/client`](./docs/client) for browser-related features like ๐๏ธ mic volume filters!
## ๐งช Test It Yourself!
Looking for real use cases? Check out the [`test/servers`](./test/servers) folder for **simple and working examples** of how to:
* ๐งต Combine Express and Socket.IO on the same port
* ๐งฉ Integrate all modules for production-style setups
* ๐ Test domain validation, IP filters, and WebSocket events
Just clone, install, and run a test server to see the magic in action! โจ
## ๐ ๏ธ Tech Stack
* **Node.js** (18+ recommended)
* **Express v5**
* **Socket.IO v4**
## ๐ค Contributions
Feel free to fork, contribute, and create pull requests for improvements! Whether it's a bug fix or an additional feature, contributions are always welcome.
## ๐ License
This project is licensed under the GPL-3.0 License - see the [LICENSE](LICENSE) file for details.
### ๐ก Credits
> ๐ง **Note**: This documentation was written by [ChatGPT](https://openai.com/chatgpt), an AI assistant developed by OpenAI, based on the project structure and descriptions provided by the repository author.
> If you find any inaccuracies or need improvements, feel free to contribute or open an issue!