UNPKG

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
<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!