This repository contains a demo web application written in F#. The app is part of the course INF-3910-5 "Applied functional programming in F#", though at UiT The Arctic University of Norway.
This project demonstrates the follwing features:
- Fable and Elmish
- Feliz
- Bulma
- Components
- Routing
- ASP.NET Core
- Giraffe
- Cookie Authentication
- Entity Framework Core
- SQLite3
- Testing
- Expecto
- FsCheck
- Canopy
- DevOps
- GitHub Actions
- Docker
You'll need to install the following pre-requisites in order to build SAFE applications
- The .NET Core SDK
- The Yarn package manager (you can also use
npm
but the usage ofyarn
is encouraged). - Node LTS installed for the front end components.
To build and run the application:
dotnet fake build -t release
cd deploy
dotnet Server.dll
To build and containerize the application:
dotnet fake build -t release
docker build -t inf-3910-webapp .
docker run -p 8085:8085 inf-3910-webapp
Before you run the project for the first time only you should install its 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 fake build -t run
You will find more documentation about the used F# components at the following places: