Lionk-Framework / Lionk

MIT License
3 stars 0 forks source link

LIONK-logo

LIONK

❯ Connecting components made easy!

license last-commit repo-top-language repo-language-count


πŸ”— Table of Contents

πŸ“ Overview

πŸ‘€ Problem

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.

πŸš€ Solution

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.

Full project description

πŸ‘Ύ Features

🧩 Example

Use Case: Home heating system management.

πŸ“‚ Repository Structure

└── 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.

🧩 Modules

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.

Modules Overview | File | Summary | | --- | --- | | Lionk.Auth | ❯ 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. |

πŸš€ Getting Started

πŸ“¦ Deployment

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

πŸ€– Usage

To see how to use the application, please refer to the user guide: User guide.

πŸ“Œ Project Roadmap

🀝 Contributing

We welcome contributions! Here are several ways you can contribute to the 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

πŸŽ— License

This project is protected under the MIT License. For more details, refer to the LICENSE file.