Fiona.Abstractions 0.0.2

dotnet add package Fiona.Abstractions --version 0.0.2                
NuGet\Install-Package Fiona.Abstractions -Version 0.0.2                
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="Fiona.Abstractions" Version="0.0.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Fiona.Abstractions --version 0.0.2                
#r "nuget: Fiona.Abstractions, 0.0.2"                
#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.
// Install Fiona.Abstractions as a Cake Addin
#addin nuget:?package=Fiona.Abstractions&version=0.0.2

// Install Fiona.Abstractions as a Cake Tool
#tool nuget:?package=Fiona.Abstractions&version=0.0.2                

Fiona


logo


🚧 - Under Development Licence - MIT

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Fiona.Abstractions:

Package Downloads
Fiona.Hosting

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.2 125 4/11/2024
0.0.1 106 4/10/2024