Fiona.Hosting
0.0.2
dotnet add package Fiona.Hosting --version 0.0.2
NuGet\Install-Package Fiona.Hosting -Version 0.0.2
<PackageReference Include="Fiona.Hosting" Version="0.0.2" />
paket add Fiona.Hosting --version 0.0.2
#r "nuget: Fiona.Hosting, 0.0.2"
// Install Fiona.Hosting as a Cake Addin #addin nuget:?package=Fiona.Hosting&version=0.0.2 // Install Fiona.Hosting as a Cake Tool #tool nuget:?package=Fiona.Hosting&version=0.0.2
Fiona
Fiona is a web api framework written in .Net. As a developer, you will be able to create API easily and quickly. The planned key feature is a GUI where a developer will be able to create API using blocks like a blueprint in UE.
In the beginning, I used HttpListener, but in the distant future, I want to write my HTTP handshake.
The project was initiated as part of the "100 commitów" competition
The Repo will be renamed after 100 commits competition because I came up with the idea for the name after registering the repo.
Is it ready for production
Nope, maybe in the future
Road map
Must to have - I want to finish it by to end of march
- Server
- Folder structure
- First Tests
- Simple HTTP server with host
- Startup builder
- Routing
- Simple Controller
- Parsing body to object
- Middleware
- Passing parameters and args from the route
- Response (status codes etc)
- Async handle request
- Configuration like a baseUrl, port ETC
- Cookies
- Logger
- Error handler
- Documentation 😃
- Tools
- Github actions to build it
Good to have - 30-60 days
- Tools
- Publish nuget package
- GUI
- Simple view where the user can drag and drop boxes
- Nav menu
- Creating project
- Users can connect boxes
- Run project
- Adding controller
- Adding service
- Add a way to create simple CRUD
- Add logic statement
- Add loop statement
Nice to have - 30 days
- Tools
- Docker image
- Server
- File Upload
- Inject service to a controller method
- Auto impl register
- Auto inject to method
- Extension for EF
- Security
- CORS
- Before call action, as an attribute
- Support for plain text in body
- GUI
- Database configuration
Would to have
- Debugger
- Own HTTP handshake
- Cache
- HttpClient - user can easily use it
- Add user login option
How to run a simple server
in Program.cs
using Fiona.Hosting;
using Fiona.Hosting.Abstractions;
IFionaHostBuilder serviceBuilder = FionaHostBuilder.CreateHostBuilder();
using IFionaHost host = serviceBuilder.Build();
host.Run();
sample controller
using Fiona.Hosting.Controller.Attributes;
using Fiona.Hosting.Routing;
using Fiona.Hosting.Routing.Attributes;
using Microsoft.Extensions.Logging;
namespace SampleFionaServer.Controller;
public class HomeController(ILogger<HomeController> logger)
{
private readonly ILogger<HomeController> _logger = logger;
[Route(HttpMethodType.Get)]
public Task<string> Index()
{
_logger.Log(LogLevel.Critical, "Home Controller Index");
return Task.FromResult("Home");
}
}
if you want to read more click here
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. |
-
net8.0
- Fiona.Abstractions (>= 0.0.2)
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.1)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 8.0.0)
- Microsoft.Extensions.Configuration.Json (>= 8.0.0)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Logging (>= 8.0.0)
- Microsoft.Extensions.Logging.Console (>= 8.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.