this is my work-in-progress take on replacing the backend of the SAFE Bookstore with Sharpino. Some calls on the back end happen twice, not sure why yet, and that will make the Sharpino backend fail. However, the logic should be correct: The library is a context and the wishlists are proper aggregates. interesting fact: I replaced the Newtonsoft.Json with Pickler and it works fine and better because I experienced that some objects are not serializable with Newtonsoft.Json (as far as I remember that happens with F# maps).
Note: This is a fork of the original SAFE Bookstore repository. The original README.md content is preserved at the end of this file.
What follows is the original README.md content.
You'll need to install the following pre-requisites in order to build SAFE applications
You'll need to install the following pre-requisites in order to build SAFE applications
- The .NET 8 SDK
- node.js (v18.x or v20.x)
- npm (v9.x or v10.x)
- docker
Before you run the project for the first time only you must install dotnet "local tools" with this command:
dotnet tool restore
To concurrently run the server and the client components in watch mode use the following command:
dotnet run
This will also spin up a local docker container with Azurite storage emulator which is used to save the wishlist data.
The build project in root directory contains a couple of different build targets. You can specify them after --
(target name is case-insensitive).
Finally, there are Bundle
and Azure
targets that you can use to package your app and deploy to Azure, respectively:
dotnet run -- Bundle
dotnet run -- Azure
If you want to know more about the full Azure Stack and all of it's components (including Azure) visit the official SAFE documentation.
You will find more documentation about the used F# components at the following places: