npm package: @glandjs/common
Description: Glands is a web framework for Node.js (@common)
Author: Mahdi
Latest version: 1.0.3-beta

<p align="center">
  <a href="#" target="blank"><img src="https://github.com/glandjs/glandjs.github.io/blob/main/public/logo.png" width="200" alt="Gland Logo" /></a>
</p>

<p align="center">
  <a href="https://npmjs.com/package/@glandjs/common" target="_blank"><img src="https://img.shields.io/npm/v/@glandjs/common.svg" alt="NPM Version" /></a>
  <a href="https://npmjs.com/package/@glandjs/common" target="_blank"><img src="https://img.shields.io/npm/l/@glandjs/common.svg" alt="Package License" /></a>
  <a href="https://npmjs.com/package/@glandjs/common" target="_blank"><img src="https://img.shields.io/npm/dm/@glandjs/common.svg" alt="NPM Downloads" /></a>
</p>

<h1 align="center">Gland</h1>

<p align="center">A progressive, event-driven Node.js framework for building efficient and scalable server-side applications.</p>

## Description

**Gland** is a lightweight, extensible web framework built for modern JavaScript and TypeScript applications. With its unique event-driven architecture (EDS), it offers unparalleled flexibility in creating modular, scalable server-side applications.

Inspired by frameworks like Angular and NestJS, Gland integrates an object-oriented design pattern, minimalistic dependency injection (DI), and powerful event-driven communication, allowing developers to efficiently build and maintain complex applications.

## Philosophy

Rather than relying on predefined conventions or imposing rigid structures, Gland offers an approach where the developer can focus on the core problem domain without being hindered by unnecessary constraints. By using an event-driven approach, Gland ensures that communication between components remains straightforward and flexible, while also maintaining the ability to easily extend the system as requirements evolve.

The simplicity of Gland lies not in the absence of features, but in how it allows developers to shape their applications with minimal friction and clear intentions. It strives to be a framework that adapts to the developer's needs, not the other way around. Through this approach, Gland provides the foundation for building applications that are both effective and maintainable, without forcing an unnatural design pattern upon the developer.

## Why Gland?

Gland is designed with flexibility and scalability in mind. Whether you're building small APIs or large-scale applications, Gland provides the tools to help you structure your codebase efficiently and maintainably. Its event-driven approach helps in decoupling components and improving testability, while its object-oriented philosophy ensures clear and consistent code organization.

## Documentation

For full documentation on how to use Gland, including guides, examples, and API references, check out the following resources:

- [Official Documentation](#)
- [API Reference](#/api)
- [Contributing Guide](https://github.com/glandjs/gland/blob/main/docs/CONTRIBUTING.md)

## Contributing

We welcome contributions to help improve Gland and shape it into a robust, production-ready framework. Here's how you can get involved:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Write tests to cover your changes.
4. Submit a pull request with a detailed description of your changes.

Please review our [CONTRIBUTING.md](https://github.com/glandjs/gland/blob/main/docs/CONTRIBUTING.md) guidelines before starting.

## Security

For details on our security practices and how to report vulnerabilities, please visit [SECURITY.md](https://github.com/glandjs/gland/blob/main/docs/SECURITY).

## License

Gland is licensed under the MIT License. See the [LICENSE](https://github.com/glandjs/gland/blob/main/LICENSE) file for details.