{"id":19990825,"url":"https://github.com/LeonKou/NetPro","last_synced_at":"2025-05-04T10:30:51.424Z","repository":{"id":40272283,"uuid":"259254837","full_name":"LeonKou/NetPro","owner":"LeonKou","description":"🌈An enhanced version with clean architecture of asp.netcore,efficiently manage startup,Support for netcore3.1/6.0 ","archived":false,"fork":false,"pushed_at":"2023-07-24T08:06:08.000Z","size":8814,"stargazers_count":221,"open_issues_count":9,"forks_count":45,"subscribers_count":5,"default_branch":"dev_6.0","last_synced_at":"2025-04-12T14:17:56.775Z","etag":null,"topics":["automapper","docker-compose","dotnetcore31","dotnetcore6","fluentvalidation","healthcheck","kubernetes","linux","microservice","mq","prometheus-metrics","redis","swagger","webapi","webapiclient","windows"],"latest_commit_sha":null,"homepage":"http://dagou.site/blog/NetPro","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LeonKou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-04-27T08:38:47.000Z","updated_at":"2024-11-07T03:01:01.000Z","dependencies_parsed_at":"2023-01-25T14:15:55.118Z","dependency_job_id":"bf32f69a-ff6a-4d5b-ade9-b73ec6ee73b6","html_url":"https://github.com/LeonKou/NetPro","commit_stats":{"total_commits":503,"total_committers":13,"mean_commits":38.69230769230769,"dds":0.2664015904572564,"last_synced_commit":"f87cbb455d83e0eaab6aa70f72221d33a49b9941"},"previous_names":[],"tags_count":1,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKou%2FNetPro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKou%2FNetPro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKou%2FNetPro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKou%2FNetPro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LeonKou","download_url":"https://codeload.github.com/LeonKou/NetPro/tar.gz/refs/heads/dev_6.0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252319990,"owners_count":21729052,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automapper","docker-compose","dotnetcore31","dotnetcore6","fluentvalidation","healthcheck","kubernetes","linux","microservice","mq","prometheus-metrics","redis","swagger","webapi","webapiclient","windows"],"created_at":"2024-11-13T04:51:29.213Z","updated_at":"2025-05-04T10:30:46.401Z","avatar_url":"https://github.com/LeonKou.png","language":"C#","readme":"\u003cp align=\"center\"\u003e \u003ca href=\"https://leonkou.github.io/NetPro/\"\u003e\u003c/a\u003e\n  \u003cimg  src=\"docs/images/netpro2.png\" \u003e\n\u003c/p\u003e\n\n# NetPro　　　　　　　　　　　　　　　　　　　[Chinese](README_Chinese.md)\n![.NET Core](https://github.com/LeonKou/NetPro/workflows/.NET%20Core/badge.svg)  ![NuGet](https://img.shields.io/nuget/v/NetPro.Startup.svg) ![NuGet](https://img.shields.io/nuget/v/NetPro.Startup.svg)\n\nNetpPro is based on enhanced Startup features development of efficient management Startup implementation, he is cross-platform, written in C# language, and is designed to code low intrusion, low dependency, modular, pluggable, on demand reference, support dotnet3.1, dotnet5.0, dotnet6.0, due to low intrusion, References on demand can be easily upgraded for future higher versions.\n# Architecture preview\n\n\u003cp align=\"center\"\u003e\n  \u003cimg  src=\"docs/images/netproinfo.png\"\u003e\n\u003c/p\u003e\n\n# Feature\n\nCompared to the various development frameworks commonly used, NetPro has many advantages:\n- It improves the development and maintenance cost caused by Startup clutter and high integration of components in the framework\n\n- Low intrusion, based on the `NetPro.Startup` developed kit can be put into the specified path to achieve plug-in ability, easily expand new functions\n\n- Low dependency: all development packages based on NetPro.Startup do not depend on each other\n\n- Easily realize the development according to the business domain, through `NetPro.Startup` can easily pack the business needs into an assembly, achieve high cohesion within the business, avoid the past controller and business layer, database layer, Startup and other scattered in multiple assemblies\n\n- Rapid development of microservices, based on NetPro.Startup best practices after the development of business modules can be quickly converted to microservices without changing the code conditions\n\n- On-demand reference. By enhancing the Startup feature, all the toolkits developed based on NetPro.Startup can be enabled by reference\n\n# Getting Started\nAll preset development kits based on NetPro.Startup please view under `src/Library`\nFor various development examples and best practices please view under `src/sample`\n### Package Manager: \nYou can install netpro.startup in your project by running the following command\n```\nPM\u003e Install-Package NetPro.Startup -Version *\n```\n\n### .NET CLI : \n```\ndotnet add package NetPro.Startup --version *\n```\n\n### PackageReference:\n```\n\u003cPackageReference Include=\"NetPro.Startup\" Version=\"*\" /\u003e\n```\n\n### .NET CLI : \n```\npaket add NetPro.Startup --version *\n```\n\n---\n\n## Creating projects through scaffolding (recommended)\n\n### 1、install netproapi[![NuGet](https://img.shields.io/nuget/v/netproapi.svg)](https://nuget.org/packages/netproapi)scaffold\n\nRun the following command to install the scaffold\n```\ndotnet new -i netproapi::* \n```\n\n### 2、Use scaffolding to create projects\n\nExecute the following command in the specified project folder\n```\ndotnet new netproapi -n project name\n```\nFor example, the current project is IAM\n```\ndotnet new netproapi -n IAM\n```\nExecuting the above command will automatically create the WebApi code solution\n\n\n### Execute\n\nAfter the development environment runs, the effect is as follows:\n\n```\n ____  _____        _   _______\n|_   \\|_   _|      / |_|_   __ \\\n  |   \\ | |  .---.`| |-' | |__) |_ .--.   .--.\n  | |\\ \\| | / /__\\\\| |   |  ___/[ `/'`\\]/ .'`\\ \\\n _| |_\\   |_| \\__.,| |, _| |_    | |    | \\__. |\n|_____|\\____|'.__.'\\__/|_____|  [___]    '.__.'\n\n\n[17:40:03] dotnet process id:14520\nThe enhanced service has started\n[17:40:04] loading json files\nService injection sequence：\n[17:40:15] apollo已关闭\ninfo: NetProSwaggerServiceExtensions[0]\n      NetPro Swagger 已启用\n--------------------------------------------------------------------------------------------------------------------------------------\n|    Order   |       StartupClassName       |                   Path                   |             Assembly            |  Version  |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 0          | NetProCoreStartup            | NetPro.Core.Startup.NetProCoreStartup    | NetPro.Core                     |  3.1.13.0 |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 0          | CheckerStartup               | NetPro.Analysic.CheckerStartup           | NetPro.Checker                  |  3.1.13.0 |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 0          | ErrorHandlerStartup(default) | NetPro.Web.Api.ErrorHandlerStartup       | NetPro.Web.Api                  |  3.1.13.0 |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 100        | SwaggerStartup               | NetPro.Swagger.SwaggerStartup            | NetPro.Swagger                  |  3.1.13.0 |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 100        | StaticFilesStartup(default)  | NetPro.Web.Api.StaticFilesStartup        | NetPro.Web.Api                  |  3.1.13.0 |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 200        | RoutingStartup(default)      | NetPro.Web.Api.RoutingStartup            | NetPro.Web.Api                  |  3.1.13.0 |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 300        | CorsStartup                  | NetPro.Web.Api.CorsStartup               | NetPro.Web.Api                  |  3.1.13.0 |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 400        | ShareBodyStartup             | NetPro.ShareRequestBody.ShareBodyStartup | NetPro.NetProShareRequestBody   |  3.1.13.0 |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 1000       | EndpointsStartup(default)    | NetPro.Web.Api.EndpointsStartup          | XXX.API (custom)                |  1.0.0.0  |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 1000       | NetProCsRedisStartup         | NetPro.CsRedis.NetProCsRedisStartup      | NetPro.CsRedis                  |  3.1.13.0 |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 2147483647 | ApiStartup                   | XXX.API.ApiStartup                       | XXX.API (custom)                |  1.0.0.0  |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 2147483647 | ApiStartup-1                 | XXX.Plugin.Web.Demo.ApiStartup           | XXX.Plugin.Web.Demo (custom)    |  1.0.0.0  |\n--------------------------------------------------------------------------------------------------------------------------------------\n| 2147483647 | ApiStartup-2                 | XXX.Plugin.Web.Manager.ApiStartup        | XXX.Plugin.Web.Manager (custom) |  1.0.0.0  |\n\n```\n\n\n","funding_links":[],"categories":["C\\#"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLeonKou%2FNetPro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLeonKou%2FNetPro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLeonKou%2FNetPro/lists"}