πŸ“š componego - Awesome Go Library for Miscellaneous

Go Gopher mascot for componego

A dependency injection framework based on components, allowing dynamic dependency replacement without duplicating code in tests.

🏷️ Miscellaneous
πŸ“‚ Libraries for working with dependency injection.
⭐ 27 stars
View on GitHub πŸ”—

Detailed Description of componego

ComponeGo Framework

Go Report Card Tests codecov Go Reference Mentioned in Awesome Go

screenshot

It is a framework for building applications based on components. These components can be used in multiple applications and are interchangeable. This framework is used solely to initialize the application and does NOT affect the main loop of your application. You can still use your favorite frameworks and libraries. We allow you to wrap them in components.

Components may depend on other components. They can be expanded or reduced based on your requirements. Components are not microservices; they are folders that contain different functionalities.

The framework has very low coupling within its code. All entities are optional.

We provide the ability to use dependency injection, configuration, and error handling. However, one of the framework's main features is that you can modify entities without changing the application code. This allows you to create mocks for any part of your application without changing the code.

If your application is divided into components (modules), it further separates your code into different services and allows you to reuse it in other applications. Of course, you don’t need to make components too small.

Documentation

Introduction: medium.com/@konstanchuk/25bfd16a97a9.

Visit our website to learn more: componego.github.io.

The documentation is up-to-date with the latest version of the framework. Please update your version to the latest.

Examples

You can find some examples here.

A typical application of this framework looks like this.

Skeleton

You can quickly create a basic application in several ways:

curl -sSL https://raw.githubusercontent.com/componego/componego/master/tools/create-basic-app.sh | sh

or

wget -O - https://raw.githubusercontent.com/componego/componego/master/tools/create-basic-app.sh | sh

On Windows, you can run the commands above with Git Bash, which comes with Git for Windows.

Contributing

We are open to improvements and suggestions. Pull requests are welcome.

License

The source code of the repository is licensed under the Apache 2.0 license. The core of the framework does not depend on other packages.