/Furion

Make .NET development easier, more versatile, and more popular.

Primary LanguageHTMLApache License 2.0Apache-2.0

star fork GitHub stars GitHub forks GitHub license nuget

Make .NET development easier, more versatile, and more popular.

English | 简体中文

💐 Preface

Selfless dedication is not a fantasy. Sometimes, we can do it.

🍕 Naming

The story goes like this:

Since Microsoft announced the news of the .NET 5 platform, I have been thinking about developing a development framework based on the .NET 5 platform. I wants to be the first to eat the .NET 5 crab.

At the beginning, I thought of Lazier as the name of the framework, which means 更懒 in Chinese. In line with my "all simple, just to be lazy" development philosophy.

But Lazier and Worse have similar pronunciation and no characteristics, and the meaning is not very good. I have been agonizing about the name change for several days.

Just once in QQ group accidentally brush to chat record hair Furion word, meaning is a prophet, at that moment, recognized it!

Furion means "prophet" in Chinese, which is just in line with my original intention of creating the framework. So, Furion was born.

🍔 About Logo

Furion's logo design concept is based on The Famous Kangaroo Theory.

Kangaroo has the characteristics of long legs, bagging and self running.

  • Long legs: It means that Furion has steady legs, walks in the forefront of science and technology, goes further and runs faster.
  • Brood bag: Small bags and big achievements. It is expected that Furion can breed more. Net excellent developers and vibrant ecology.
  • Self run: Furion itself should keep learning, making progress, innovating and developing.

🍟 Document

At present, the document is gradually improving.

🍯 Cases

  • Admin.NET:General authority management platform system based on Furion.
  • ExamKing:Online examination system based on Furion.
  • Gardener:Super simple system based on Furion and Blazor.
  • Queer:General system based on Furion and Layui.
  • Pear Admin:General system based on Furion and PearAdmin.
  • JoyAdmin:General system based on Furion and iviewadmin.
  • YShop:Mobile e-commerce project based on Furion and Vue.

🥦 Tutorials

🌭 Souce Code

🍿 Docker Image

  • Docker Hub online Image
docker run --name furion -p 5000:80 monksoul/furion:v2.7.3
  • Manually pack Image.

Open CMD/Shell/PowerShell and enter the Furion project root directory to package Furion image:

docker build -t furion:v2.7.3 .

When it build successful,then run docker run

docker run --name furion -p 5000:80 furion:v2.7.3

🥥 Packages

Package Type Name Version Description
nuget Furion nuget Furion framework package
nuget Furion.Extras.Authentication.JwtBearer nuget Furion Jwt expansion package
nuget Furion.Extras.DependencyModel.CodeAnalysis nuget Furion CodeAnalysis expansion package
nuget Furion.Extras.Web.HttpContext nuget Furion HttpContext expansion package
nuget Furion.Extras.ObjectMapper.Mapster nuget Furion Mapster expansion package
nuget Furion.Extras.DatabaseAccessor.SqlSugar nuget Furion SqlSugar expansion package
nuget Furion.Extras.DatabaseAccessor.Dapper nuget Furion Dapper expansion package
nuget Furion.Extras.DatabaseAccessor.MongoDB nuget Furion MongoDB expansion package
nuget Furion.Extras.Logging.Serilog nuget Furion Serilog expansion package

🍄 Templates

Template Type Name Version Description
nuget Furion.Template.Mvc nuget Mvc Template
nuget Furion.Template.Api nuget WebApi Template
nuget Furion.Template.App nuget Mvc/WebApi Template
nuget Furion.Template.Razor nuget RazorPages Template
nuget Furion.Template.RazorWithWebApi nuget RazorPages/WebApi Template
nuget Furion.Template.Blazor nuget Blazor Template
nuget Furion.Template.BlazorWithWebApi nuget Blazor/WebApi Template

How to use template

🍎 Features

  • New appearance: Based on .NET5/6 platform, no historical burden
  • Easy to get started: only one Inject() is needed to complete the configuration
  • Fast development: built in rich enterprise application development functions
  • Very few dependencies: the framework relies on only two third-party packages
  • Extremely flexible: easy to face the changing and complex needs
  • Easy to maintain: adopt unique architecture idea, only designed for long-term maintenance
  • Perfect documentation: provide complete development documentation

🥞 Architecture

Sort it out later...

🥝 Functions

🥐 Dependencies

Furion in order to pursue fast entry, the ultimate performance, as far as possible do not use or reduce third-party dependence.

At present, Furion only integrates the following two dependencies:

Although sparrow is small, it has all five internal organs. Furion only integrates these two dependencies, but there are many mainstream ones such as IOC/DI,AOP,EventBus,Data Validation and ORM.

🥗 Requirement

  • Visual Studio 2019 16.8 +
  • .NET 5 SDK +
  • .Net Standard 2.1 +

🥪 Platform

  • Environment
    • Windows
    • Linux
    • MacOS
    • Docker/K8S/K3S/Rancher
    • Xamarin/MAUI
  • Database
    • SqlServer
    • Sqlite
    • Azure Cosmos
    • MySql
    • MariaDB
    • PostgreSQL
    • InMemoryDatabase
    • Oracle
    • Firebird
    • DM Database
    • MongoDB
  • Deploy
    • Kestrel
    • Nginx
    • Jexus
    • IIS
    • Apache
    • PM2
    • Supervisor
    • SCD/SingleFile
    • Container(Docker/K8S/K3S/Rancher)

🍖 Performance

Furion currently uses Visual Studio 2019 16.8 with performance test and JMeter for testing. Due to the limited space, only some test charts are pasted. The test results are as follows:

🌴 Stargazers

Stargazers over time

🍻 Contribution

Furion follows the Apache-2.0 open source agreement. You are welcome to submit Pull Request or Issue.

If you want to contribute to a project, check out the Contribution Guide

Thank you for your contribution to Furion.

Giteye chart

Special thanks to TLog author Provide real-time avatars of contributors.