Marventa.Framework
2.2.0
See the version list below for details.
dotnet add package Marventa.Framework --version 2.2.0
NuGet\Install-Package Marventa.Framework -Version 2.2.0
<PackageReference Include="Marventa.Framework" Version="2.2.0" />
<PackageVersion Include="Marventa.Framework" Version="2.2.0" />
<PackageReference Include="Marventa.Framework" />
paket add Marventa.Framework --version 2.2.0
#r "nuget: Marventa.Framework, 2.2.0"
#:package Marventa.Framework@2.2.0
#addin nuget:?package=Marventa.Framework&version=2.2.0
#tool nuget:?package=Marventa.Framework&version=2.2.0
๐ Marventa Framework
Enterprise-ready, modular .NET framework for intelligent file management and content processing
โจ What is Marventa Framework?
A comprehensive, pay-as-you-use file management framework that provides everything from basic storage to AI-powered content analysis. Built with Clean Architecture and SOLID principles for maximum flexibility and maintainability.
๐ฏ Key Features
| Feature | Description |
|---|---|
| ๐๏ธ Storage Management | Multi-provider storage (Azure Blob, AWS S3, Local) with unified API |
| ๐ผ๏ธ Image Processing | Resize, optimize, watermark, format conversion with quality control |
| ๐ CDN Integration | Global content delivery with caching and edge optimization |
| ๐ค AI/ML Services | Image analysis, face detection, content tagging, OCR |
| ๐ Metadata Management | Search, categorization, analytics with advanced tagging |
โก Quick Start
Installation
dotnet add package Marventa.Framework
Basic Setup
// Program.cs
builder.Services.AddMarventaFramework(options =>
{
// Enable only what you need - pay for what you use!
options.EnableStorage = true; // File upload/download
options.EnableFileProcessor = true; // Image processing
options.EnableCDN = false; // Optional: Global delivery
options.EnableML = false; // Optional: AI analysis
options.EnableMetadata = true; // Optional: Search & analytics
});
Simple Usage
// Upload and process an image
[ApiController]
public class FilesController : ControllerBase
{
private readonly IStorageService _storage;
private readonly IFileProcessor _processor;
public async Task<IActionResult> UploadImage(IFormFile file)
{
// 1. Process image
var processResult = await _processor.ProcessImageAsync(file.OpenReadStream(), new()
{
Width = 800,
Height = 600,
Quality = 85
});
// 2. Upload to storage
var uploadResult = await _storage.UploadFileAsync(
processResult.ProcessedImage,
file.FileName,
file.ContentType
);
return Ok(new {
FileId = uploadResult.FileId,
Url = uploadResult.PublicUrl,
Size = uploadResult.FileSizeBytes
});
}
}
๐ง Configuration Options
Storage Providers
{
"Marventa": {
"StorageOptions": {
"Provider": "AzureBlob", // AzureBlob | AWS | Local | Mock
"ConnectionString": "...",
"EnableEncryption": true,
"MaxFileSizeBytes": 104857600
}
}
}
Image Processing
{
"FileProcessorOptions": {
"Provider": "ImageSharp", // ImageSharp | Mock
"DefaultImageQuality": 85,
"MaxFileSizeBytes": 52428800,
"SupportedFormats": ["jpg", "png", "webp"]
}
}
๐๏ธ Modular Architecture
Enable only the features you need:
builder.Services.AddMarventaFramework(options =>
{
// Core (Always enabled)
options.EnableStorage = true; // File operations
// Optional Features (Pay-per-use)
options.EnableFileProcessor = true; // Image processing
options.EnableCDN = true; // Global delivery
options.EnableML = true; // AI analysis
options.EnableMetadata = true; // Search & analytics
});
๐ฆ Available Packages
| Package | Purpose | Dependencies |
|---|---|---|
Marventa.Framework |
All features | Complete solution |
Marventa.Framework.Core |
Models & Interfaces | No dependencies |
Marventa.Framework.Infrastructure |
Implementations | Core + External libs |
Marventa.Framework.Web |
ASP.NET Integration | Infrastructure |
๐ Advanced Features
AI-Powered Content Analysis
var analysis = await _mlService.AnalyzeImageAsync(imageStream, new()
{
DetectObjects = true,
DetectFaces = true,
GenerateTags = true,
ExtractText = true
});
Console.WriteLine($"Found {analysis.DetectedObjects.Count} objects");
Console.WriteLine($"Confidence: {analysis.OverallConfidence:P}");
Smart Caching with CDN
var cdnResult = await _cdnService.UploadWithTransformationAsync(fileStream, new()
{
Transformations = new[]
{
new ImageTransformation { Width = 800, Height = 600 },
new ImageTransformation { Width = 400, Height = 300 },
new ImageTransformation { Width = 150, Height = 150 }
},
CacheTTL = TimeSpan.FromHours(24)
});
File Analytics & Search
// Add metadata for searchability
await _metadataService.AddFileMetadataAsync(fileId, new()
{
Title = "Product Image",
Description = "High-quality product photo",
Tags = new[] { "product", "ecommerce", "high-res" },
CustomProperties = new Dictionary<string, object>
{
["ProductId"] = "P12345",
["Category"] = "Electronics"
}
});
// Search files
var searchResults = await _metadataService.SearchFilesAsync(new()
{
Query = "product electronics",
FileTypes = new[] { "image/jpeg", "image/png" },
DateRange = new(DateTime.Now.AddDays(-30), DateTime.Now)
});
๐งช Testing Support
Built-in mock services for comprehensive testing:
// Use mock providers in tests
services.AddMarventaFramework(options =>
{
options.StorageOptions.Provider = StorageProvider.Mock;
options.FileProcessorOptions.Provider = FileProcessorProvider.Mock;
// All operations work in-memory for fast testing
});
๐ Documentation
- ๐ Complete Documentation: View Docs
- ๐ Quick Start Guide: Getting Started
- ๐ง Configuration: Configuration Guide
- ๐ก Examples: Usage Examples
๐ก Why Choose Marventa Framework?
โ Modular Design - Pay only for features you use โ Production Ready - Battle-tested in enterprise environments โ Provider Agnostic - Switch storage/CDN providers without code changes โ Clean Architecture - Maintainable, testable, scalable โ Comprehensive - File management, processing, AI, analytics in one package โ Developer Friendly - Intuitive APIs with extensive documentation
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
<div align="center"> <strong>Built with โค๏ธ for the .NET Community</strong> <br> <sub>Making enterprise file management simple, powerful, and intelligent</sub> </div>
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net8.0
- Marventa.Framework.Application (>= 1.0.0)
- Marventa.Framework.Core (>= 1.0.0)
- Marventa.Framework.Domain (>= 1.0.0)
- Marventa.Framework.Infrastructure (>= 1.0.0)
- Marventa.Framework.Web (>= 1.0.0)
-
net9.0
- Marventa.Framework.Application (>= 1.0.0)
- Marventa.Framework.Core (>= 1.0.0)
- Marventa.Framework.Domain (>= 1.0.0)
- Marventa.Framework.Infrastructure (>= 1.0.0)
- Marventa.Framework.Web (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 5.2.0 | 229 | 10/13/2025 | |
| 5.1.0 | 277 | 10/5/2025 | |
| 5.0.0 | 184 | 10/4/2025 | |
| 4.6.0 | 196 | 10/3/2025 | |
| 4.5.5 | 215 | 10/2/2025 | |
| 4.5.4 | 210 | 10/2/2025 | |
| 4.5.3 | 208 | 10/2/2025 | |
| 4.5.2 | 209 | 10/2/2025 | |
| 4.5.1 | 211 | 10/2/2025 | |
| 4.5.0 | 212 | 10/2/2025 | |
| 4.4.0 | 218 | 10/1/2025 | |
| 4.3.0 | 217 | 10/1/2025 | |
| 4.2.0 | 218 | 10/1/2025 | |
| 4.1.0 | 210 | 10/1/2025 | |
| 4.0.2 | 218 | 10/1/2025 | |
| 4.0.1 | 210 | 10/1/2025 | |
| 4.0.0 | 286 | 9/30/2025 | |
| 3.5.2 | 219 | 9/30/2025 | |
| 3.5.1 | 250 | 9/30/2025 | |
| 3.4.1 | 254 | 9/30/2025 | |
| 3.4.0 | 249 | 9/30/2025 | |
| 3.3.2 | 261 | 9/30/2025 | |
| 3.2.0 | 253 | 9/30/2025 | |
| 3.1.0 | 252 | 9/29/2025 | |
| 3.0.1 | 251 | 9/29/2025 | |
| 3.0.1-preview-20250929165802 | 245 | 9/29/2025 | |
| 3.0.0 | 248 | 9/29/2025 | |
| 3.0.0-preview-20250929164242 | 251 | 9/29/2025 | |
| 3.0.0-preview-20250929162455 | 248 | 9/29/2025 | |
| 2.12.0-preview-20250929161039 | 242 | 9/29/2025 | |
| 2.11.0 | 253 | 9/29/2025 | |
| 2.10.0 | 253 | 9/29/2025 | |
| 2.9.0 | 247 | 9/29/2025 | |
| 2.8.0 | 249 | 9/29/2025 | |
| 2.7.0 | 260 | 9/29/2025 | |
| 2.6.0 | 254 | 9/28/2025 | |
| 2.5.0 | 260 | 9/28/2025 | |
| 2.4.0 | 252 | 9/28/2025 | |
| 2.3.0 | 253 | 9/28/2025 | |
| 2.2.0 | 255 | 9/28/2025 | |
| 2.1.0 | 253 | 9/26/2025 | |
| 2.0.9 | 257 | 9/26/2025 | |
| 2.0.5 | 250 | 9/25/2025 | |
| 2.0.4 | 256 | 9/25/2025 | |
| 2.0.3 | 261 | 9/25/2025 | |
| 2.0.1 | 257 | 9/25/2025 | |
| 2.0.0 | 258 | 9/25/2025 | |
| 1.1.2 | 334 | 9/24/2025 | |
| 1.1.1 | 335 | 9/24/2025 | |
| 1.1.0 | 253 | 9/24/2025 | |
| 1.0.0 | 258 | 9/24/2025 |
v2.2.0: Major refactoring for perfect SOLID compliance! Eliminated all multi-class files - now 29 focused, single-responsibility files. Added FileAnalytics system, BulkProcessingResult, progressive JPEG support, enhanced validation with format detection. Complete test coverage with MockFileProcessorTests and MockStorageServiceTests. Professional NuGet-optimized documentation. Zero build errors, production-ready architecture.