This is a "real world" example application, written entirely in F#. The goal is to create a best practice for building applications or at least give a reasonable manual to design one.
It's a very simple bank application.
Here you can - Create/Read users - Create/Read cards for those users - Set daily limits for cards - Top up balance - Process payments (according to your current balance, daily limit and today's spendings)
To run this thing you'll need: - .NET Core 2.2+ - Docker - Visual Studio 2017+ or VS Code with Ionide plugin or Rider with F# plugin
Database here is MongoDb, hosted in docker container. So you just have to navigate to
dockerfolder and run
docker-compose up. That's it.
For web api
Giraffeframework is used. You can also play with it using
There are several projects in this solution, in order of referencing:
Here's long and boring explanation of why anyone would even bother to use F# for web api and tips on how to do it in such a way so you don't blow your head off.