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.
Features include:
- 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.
Popular series | |
---|---|
The largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions. | |
Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information. | |
The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions. | |
Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS. | |
Awesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series. | |
Machine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source. | |
New to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux. | |
Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities. | |
Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users. | |
Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine. | |
Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal. | |
Saving Money with Linux looks at how you can reduce your energy bills running Linux. | |
Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum. | |
Now and Then examines how promising open source software fared over the years. It can be a bumpy ride. | |
Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged. | |
Linux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery. | |
Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers. | |
Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series. | |
These best free books accelerate your learning of every programming language. Learn a new language today! | |
These free tutorials offer the perfect tonic to our free programming books series. | |
Linux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts. | |
Stars and Stripes is an occasional series looking at the impact of Linux in the USA. |