β― Connecting components made easy!
Managing a diverse set of home and industrial components in an integrated and efficient manner is challenging. Existing solutions often lack flexibility, requiring significant customization and redevelopment when integrating new components. This inflexibility can lead to increased costs and reduced system efficiency.
Additionally, many existing systems are not designed to handle real-time data exchange and monitoring efficiently, leading to delays and potential errors in critical operations. There is also a need for a secure, user-friendly interface that allows administrators and operators to supervise and control the system easily.
Lionk Core is a modular platform developed in .NET designed to enable the management and integration of various components through plugins. The project is crafted to cater to end users (operators and administrators) as well as plugin developers, offering maximum flexibility and extensibility. The primary goal is to enhance the quality of life in home environments by allowing seamless integration and management of various components.
The application provides a web interface for configuring components and visualizing data. Users can easily add new plugins to define additional components. The application is published as a Docker image for easy deployment, with each release also publishing new NuGet packages to facilitate plugin development.
Use Case: Home heating system management.
βββ lionk/
βββ LICENSE.txt
βββ README.md
βββ docs/
β βββ analysis/ # Contains all documentation related to analysis.
β βββ best-practices/ # Contains best practices used in the development of the app.
β βββ deployment/ # Contains guides for deploying the app.
β βββ project-description.md # General description of the project.
βββ src/
βββ lionk.sln # Visual Studio solution file for the Lionk project.
βββ app/ # Contains the Visual Studio project files for the Lionk app.
βββ lib/ # Contains subfolders for each module.
βββ test/ # Contains all unit tests.
βββ resources/ # Contains project resources such as logs, etc.
βββ Directory.Build.Props # MSBuild properties for all projects in the solution.
βββ .editorconfig # Configuration for coding style and conventions.
βββ stylecop.json # StyleCop settings for enforcing code style rules.
βββ DockerFile # Dockerfile for building the Lionk app.
This repo hosts all the software bricks making up our framework. Here's a brief description of each of them. The source code can be found in src/Lib
.
β― This module handles authentication services and user management within the framework, providing secure access control mechanisms.
|
| Lionk.Auth.Razor | β― Contains Razor components for user interface integration related to authentication and user management, working in conjunction with Lionk.Auth.
|
| Lionk.Core | β― The core module of the framework containing the essential services, utilities, and foundational classes shared across other modules.
|
| Lionk.Core.Razor | β― Provides Razor UI components that are built on top of Lionk.Core functionalities, enhancing the user interface capabilities.
|
| Lionk.Logger | β― This module is responsible for logging and monitoring activities within the framework, supporting various logging levels and outputs.
|
| Lionk.Notification | β― Manages notification services, allowing different types of notifications (email, SMS, etc.) to be sent within the system.
|
| Lionk.Plugin | β― Provides the base infrastructure for plugin management, enabling modular extensions and custom functionality within the framework.
|
| Lionk.Plugin.Blazor | β― Contains Blazor components and support specifically for plugins, enhancing the modular and pluggable capabilities of the framework in Blazor-based applications.
|
| Lionk.Utils | β― A collection of utility classes and helper functions that provide common functionality to streamline development within the framework.
|
To see how to deploy the application, please refer to the deployment guide: Deployment guide.
For a full documentation on how to deploy the application on a raspberry with GPIO enable see Rpi guide
Some basic plugins for raspberry can be found here
To see how to use the application, please refer to the user guide: User guide.
Task 1
: Task 2
: Manage issue and fix bugs.Task 3
: Implement Time series data logging and exportation.Task 4
: Implement new notification channels.Task 5
: Implement plugins repository to simplify the plugin download process.Task 6
: TBDWe welcome contributions! Here are several ways you can contribute to the project:
Lionk
project.Please refer to the Contributing Guidelines to learn how to contribute effectively.
You can find the complete documentation of the code here.
Contributor Graph
This project is protected under the MIT License. For more details, refer to the LICENSE file.