Felicity is a framework that allows you to expose your functional F# domain logic as an API following the JSON:API specification, with no boilerplate.
This framework contains over 1,000 end-to-end tests checking success-path and error-path functionality of all operations.
This is free and open source software.
Key Features
- Based on ASP.NET Core and Giraffe.
- Thoroughly tested.
- Highly succinct, declarative and discoverable fluent-style syntax.
- Designed for with idiomatic, immutable F# domain logic, including DU wrappers and smart constructors.
- Automatic support for sparse fieldsets and included resources.
- Automatic routing and link generation for resources and relationships.
- Any attribute, relationship, or operation may be async or return errors.
- Loads included resources on-demand and in parallel.
- Easily pass strongly typed context data (e.g. authentication information) through Felicity to any part of your code.
- Over 100 common error cases handled automatically; you only have to care about your application-specific errors.
- If it compiles and starts, it works.
- Support for polymorphic resource collections and relationships.
- Built-in support for resource-level precondition validation using ETags and modification dates .(requiring the client to supply If-Match and If-Unmodified-Since to avoid “mid-air collisions”).
- Resource-level locking and operation queueing to ensure thread safety (can also lock “parent” resources and plug into external locking mechanisms).
- Supports sideposting (a.k.a. sideloading) to create a related resource hierarchy in a single POST request (not in official JSON:API spec).
Website: github.com/cmeeren/Felicity
Support:
Developer: Christer van der Meeren
License: MIT License
Bolero is written in F#. Learn F# with our recommended free books and free tutorials.
Related Software
| F# Web Frameworks | |
|---|---|
| Giraffe | Native functional ASP.NET Core web framework |
| Saturn | Implements the server-side, functional MVC pattern |
| Suave | Simple web development F# library |
| WebSharper | Full-stack, functional reactive web programming |
| Falco | Toolkit for building fast, functional-first and fault-tolerant web applications |
| Bolero | Tools and libraries to run F# applications in WebAssembly |
| Felicity | Idiomatic JSON:API |
| Frank | F# computation expressions |
| Freya | Modern functional stack for web programming |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Know a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

