PupaMVCF.Framework
0.2.5
dotnet add package PupaMVCF.Framework --version 0.2.5
NuGet\Install-Package PupaMVCF.Framework -Version 0.2.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PupaMVCF.Framework" Version="0.2.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PupaMVCF.Framework" Version="0.2.5" />
<PackageReference Include="PupaMVCF.Framework" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PupaMVCF.Framework --version 0.2.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PupaMVCF.Framework, 0.2.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PupaMVCF.Framework@0.2.5
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PupaMVCF.Framework&version=0.2.5
#tool nuget:?package=PupaMVCF.Framework&version=0.2.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
<div align="center">
π PupaMVCF
PupaMVCF is a lightweight and flexible web framework using the MVC pattern. π―
<img src="https://github.com/Artpupser/PupaMVCF/blob/main/assets/banner.jpg" style="border-radius: 20px; max-height: 500px">
</div>
π Navigation
- β¨ Features
- π§΅ Usage
- π Preview
- π¦ΎοΈ Installation
- π¦ Dependencies
- ποΈ Devlog
- βοΈοΈ License
β¨οΈ Features
<div align="center">
| π Feature | π Description |
|---|---|
| π Cross-platform support | Supports Windows, Linux, and macOS using the modern .NET runtime |
| π₯ Simplify | Simplifies backend development with built-in routing, dependency injection, validation, authentication, and configuration |
| πͺ Flexibility | Easily extensible with middleware, repositories, custom services, microservices support, and modular architecture |
| π§± MVC architecture | Structured around the MVC pattern with controllers, models, views, and routing |
| π§ gRPC support | (not supported) Supports high-performance gRPC communication for services and APIs |
| π§© Middleware | Extensible middleware pipeline for request and response processing |
| π¨ Views system | Built-in view rendering system for dynamic page generation |
| π Dependency Injection | Integrated dependency injection container for service management |
| βοΈ Configuration system | Flexible configuration system with environment and application settings |
| π Logging | Logging system for application events, debugging, and monitoring |
| π¦ Models & Controllers | Simplified architecture for organizing business logic and request handling |
| π§ Routing | Attribute and route-based request routing system |
| β Validations | Built-in request and model validation utilities |
| π¨ Error handling | Centralized exception and error handling mechanisms |
| π Security | Includes XSS and SQL Injection protection mechanisms |
| π Authentication | Authentication with JWT Bearer Token |
| π Daemon processing | Supports long-running background and daemon tasks |
| π§© Microservices ready | Designed for scalable and distributed microservice architectures |
| π Kestrel integration | Deep integration with Kestrel including cookies, authentication, and pipe-based I/O |
</div>
π¦Ύ Full installation and run
dotnet new install PupaMVCF.Template
dotnet new list
mkdir SolutionName
mkdir SolutionName/src
cd ./SolutionName
dotnet new sln ./
mkdir ./src/ProjectName
cd ./src/ProjectName
dotnet new pupamvcf-app
cd ../../
dotnet sln add ./src/ProjectName
cd ./src/ProjectName
dotnet run
π¦ Dependencies
PupaMVCF.Framework
- Dapper
- Microsoft.AspNetCore.Authentication.JwtBearer
- Microsoft.AspNetCore.Server.Kestrel
- Microsoft.Extensions.Caching.Memory
- Microsoft.Extensions.Configuration
- Microsoft.Extensions.Hosting
- Microsoft.Extensions.Logging.Abstractions
- PupaLib.Core
- PupaLib.FileIO
PupaMVCF.Template
ποΈ Devlog
v0.2.5
- fix: error operation processing from IWebAppBootstrap in WebApp.cs
v0.2.4
- add: JWT Token generator, need JWT_SECRET to .env file
v0.2.3
- add: prop User [ClaimsPrincipal] in Request.cs
v0.2.2
- add: PupaMVCF.Template currently initializing database PgSQL
- add: json validator module
- add: ServiceCollectionExtensions
- add: Authentication jwt bearer
- add: PublicFolder how separate class [VirtualFolder PublicFolder]
- add: delete functions to database Repository
- add: ControllerScheme attribute, PrefixPattern for all handlers in controller
- fix: all yellow wrongs in build
- fix: ErrorMiddleware add ILogger to constructor
- fix: Components/Views not used StaticPrefix, currently used in all projects
- fix: StaticController fix path prefix /api/
- deleted: configuration extensions
- deleted: full removed ISession
- deleted: IValidatorModule β ValidatorModule
- changed: validator initialization
- changed: template structure, PupaMVCF.Template,
- changed: update initialization scheme
v0.2.1
- fix: session commit async conflict, next()
v0.2.0
- deleted: protos, ExampleMacroProcess (need base)
- deleted: ReadExactlyAsync - optimization on Request.cs
- changed: router system on DI (Dependency Injection) base
- changed: big rework controller & middleware system
- changed: PupaMVCF.Web.Template β PupaMVCF.Template
- changed: initialization steps
- add: database factory, repository
- add: .env files loading in PupaMVCF.Template
- add: banner.jpg
- changed: Readme.md file design
- changed: github workflows, optimized, package updated
v0.1.6
- Changed .NET version .net8.0 β .net10.0
v0.1.5
- Extended PupaMVCF.Framework.Tests with GET, POST requests and views testing
- Fixed validator: character substitution in
forcycle (i β y)
v0.1.4
- Pipe-based request body reading and response writing via
System.IO.Pipelines - Form data reading support with typed
GetFormField<T> - Extended
Redirectoverloads with URI validation - Full validation system: modules for email, string/number range, required fields, Cloudflare Captcha
ValidFromRequest<T>β validates model directly from request, returnsOption<T>Option<T>improvements:implicit operator bool, singletonFail,Out(out T)pattern- Extended session config: expiry, SameSite, custom cookie name
- Added
HttpsEnable,Domain,StaticPrefixconfig options - Middleware can now be declared directly on
[ControllerHandler]attribute - CI: web template now published with a separate NuGet token
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Dapper (>= 2.1.72)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 10.0.8)
- Microsoft.AspNetCore.Server.Kestrel (>= 2.3.9)
- Microsoft.Extensions.Caching.Memory (>= 10.0.5)
- Microsoft.Extensions.Configuration (>= 10.0.5)
- Microsoft.Extensions.Hosting (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
- PupaLib.Core (>= 0.0.2)
- PupaLib.FileIO (>= 1.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.