AB
AiBoss
project

Furion - A free and open-source AI development framework based on .NET

Furion is a free and open-source development framework based on .NET that simplifies the development process and improves development efficiency. It supports multiple operating environments, including Windows, Linux, Mac OS, and Docker, and is suitable for developing Web APIs, Web applications, etc.

What is Furion?

Furion is a free and open-source development framework based on .NET that simplifies the development process and improves development efficiency. It supports multiple runtime environments, including Windows, Linux, Mac OS, and Docker, and is suitable for developing various types of applications such as Web APIs, Web applications, and mobile applications. Furion's core features are lightweight, high performance, and ease of use. Through a minimalist design philosophy, developers can quickly get started, requiring only simple... Inject() The method can handle most of the configuration. Furion has built-in rich enterprise-level features, such as dynamic Web APIs, permission management, and database operations, greatly reducing development workload. The framework's flexible architecture can easily handle complex and ever-changing requirements and is easy to maintain in the long term. Furion provides comprehensive development documentation and abundant learning resources, including online tutorials and videos, to help developers quickly master its usage. Furion's open-source addresses include Gitee and GitHub, where developers can freely download, use, and contribute code.

Furion's main functions

  • Dynamic Web APIFurion provides powerful dynamic Web API capabilities, allowing developers to automatically generate API interfaces without having to manually write large amounts of code. It supports features such as automatic routing, automatic parameter binding, and automatic result return, greatly simplifying the Web API development process.
  • Dependency Injection ExtensionFurion, based on .NET's dependency injection (DI) mechanism, provides more flexible extension capabilities. It supports simple... Inject() This method allows for quick service registration and is compatible with .NET's native dependency injection mechanism.
  • Database operationsFurion has powerful built-in database operation capabilities, supporting various databases (such as SQL Server, MySQL, PostgreSQL, etc.). It provides extensions to Entity Framework Core, supporting dynamic SQL queries, paginated queries, batch operations, and more.
  • Access ManagementFurion provides general access control functionality, supporting dynamic management of roles, users, and permissions. Role-based access control (RBAC) can be implemented through simple configuration, and dynamic permission verification is supported.
  • Multi-tenancy supportFurion supports multi-tenant architecture, easily achieving data isolation between different tenants. Developers can implement multi-tenancy functionality through simple configuration and code, meeting the needs of enterprise-level applications.
  • File Upload and DownloadFurion offers convenient file upload and download functions, supporting local storage and cloud storage (such as Alibaba Cloud OSS, Tencent Cloud COS, etc.). It supports features such as file chunk upload and resume interrupted uploads.
  • Log ManagementFurion has built-in logging functionality and supports various logging frameworks (such as Serilog, NLog, etc.). It can easily record application runtime log information, facilitating troubleshooting and performance monitoring.
  • Task schedulingFurion provides task scheduling capabilities, supporting both scheduled and asynchronous tasks. Developers can easily define and manage tasks to achieve scheduled execution or background processing.
  • Internationalization supportFurion supports multilingual internationalization, making it easy to switch between multiple languages in an application. It also supports storing internationalized content through resource files or a database.
  • Code generatorFurion provides a code generator that can automatically generate code based on the database table structure. It supports generating entity classes, API interface code, database operation code, etc., greatly improving development efficiency.
  • Middleware supportFurion supports custom middleware, allowing developers to extend application functionality as needed. It provides a middleware registration and management mechanism, facilitating the implementation of features such as request interception and response processing.
  • Microservice supportFurion provides support for microservice architecture, making it easy to implement service decomposition and service discovery. It also supports service management through service registries such as Consul and Etcd.

Furion's official website address

  • Official website addresshttps://furion.net/

How to use Furion

  • Environmental preparationEnsure that the latest versions of the .NET SDK and Visual Studio are installed (Visual Studio 2019 or later is recommended).
  • Create a project
    • Use command-line toolsInstall the Furion project template:
      dotnet new install Furion.Template.Api
    • Create a project:
      dotnet new furionapi -n MyFurionWebApi
      A Furion-based Web API project will be created.
    • Using Visual Studio:
      • Open Visual Studio and click "Create New Project".
      • Select "Furion WebAPI Template" from the templates, configure the project name and path, and then click "Create".
  • Add Furion dependencyInstall the Furion framework and its dependencies via NuGet. Run the following command in your project:
dotnet add package Furion
  • Alternatively, search for and install it in the NuGet package manager in Visual Studio.
  • Configure Furion:exist Program.cs Add to the file Inject() Methods to enable Furion features:
    using
    Microsoft.AspNetCore.Hosting;
    using
    Microsoft.Extensions.Hosting;
    namespace
    FurionStart
    {
    public
    class
    Program
    {
    public
    static
    void
    Main(string[] args)
    {
    CreateHostBuilder(args).Build().Run();
    }
    public
    static
    IHostBuilder
    CreateHostBuilder(string[] args)
    =>
     Host.CreateDefaultBuilder(args)
    .ConfigureWebHostDefaults(webBuilder =>
     webBuilder
     .Inject()
    // 添加这一行
    .UseStartup<Startup>());
    }
    }
    • exist Startup.cs Add to file AddInject() and UseInject():
      public
      void
      ConfigureServices(IServiceCollection services)
      {
       services.AddControllers().AddInject();
      }
      public
      void
      Configure(IApplicationBuilder app,
      IWebHostEnvironment env)
      {
      if
      (env.IsDevelopment())
      {
       app.UseDeveloperExceptionPage();
      }
       app.UseHttpsRedirection();
       app.UseRouting();
       app.UseAuthorization();
       app.UseInject();
      // 添加这一行
       app.UseEndpoints(endpoints =>
      {
       endpoints.MapControllers();
      });
      }
  • Write your first APICreate a service class and use it [DynamicApiController]Features or implementation IDynamicApiControllerDefine dynamic APIs using interfaces:
using
Furion.DynamicApiController;
namespace
MyFurionWebApi.Application
{
[DynamicApiController]
public
class
HelloService
{
public
string
SayHello(string name)
{
return
$"Hello, {name}";
}
}
}
  • After starting the project, you can access /api/HelloService/SayHello?name=Kimi Use this to call the interface.
  • More features
    • Database operationsFurion's database extension features allow for quick CRUD operations.
    • Access ManagementUsing Furion's permission management features, role-based access control can be easily implemented.
    • Task schedulingFurion's task scheduling feature allows you to define and manage scheduled tasks.
  • Running ProjectAfter running the project, Furion will start a web server by default and provide API documentation and a test interface via Swagger.

Furion's application scenarios

  • Enterprise Management and Information TechnologyFurion is widely used in enterprise management fields such as customer relationship management (CRM), project management, and human resource management. Through Furion's low-code platform and AI collaboration, enterprises can quickly build management systems to achieve functions such as customer information entry, follow-up records, and sales analysis.
  • Manufacturing and IndustryIn the manufacturing industry, Furion is used for scenarios such as equipment management, production scheduling, and supply chain management. By combining with AI technology, Furion can achieve real-time equipment status monitoring, data analysis, and fault prediction, helping factories reduce equipment failure rates and maintenance costs.
  • E-commerce and financeThe Furion framework supports cross-platform deployment and is suitable for microservice scenarios in industries such as e-commerce and finance. For example, YShop is a mobile e-commerce project developed based on Furion + Vue.
  • Education and Online LearningFurion develops online education systems, such as online examination systems and learning management systems. It can quickly build systems that support multiple functions, such as exam management, grade statistics, and learning progress tracking.
  • microservice architectureFurion is a high-performance microservice framework that supports features such as dependency injection and API gateways, simplifying microservice development and maintenance. Its dynamic API controller feature is suitable for projects with rapid iterations and scenarios requiring high API flexibility.