• Stars
    star
    372
  • Rank 114,858 (Top 3 %)
  • Language
    F#
  • Created over 6 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An introductory dojo to learn how to develop full stack web applications in F#

SAFE Dojo

This self-study repository is designed to allow you to experience the SAFE stack based on a ready-made application that you can build on top of. It will take around 90 minutes for you to complete if you have no experience in any of these technologies.

The master branch contains the dojo to complete. Please read the instructions.md for a guide on completing this dojo, to learn all about the SAFE Stack and F#. There is a "completed" version in the suggested-solution branch.

Install pre-requisites

You'll need to install the following pre-requisites in order to build SAFE applications

Starting the application

Before you run the project for the first time only you must install dotnet "local tools" with this command:

dotnet tool restore

Open the editor:

code .

Build and run in watch mode using the following command:

dotnet run

NOTE: You may have to allow dotnet or Server access to your public and/or private network.

Then open http://localhost:8080 in your browser. Arrange the windows so you can see both Code editor and the web browser.

Use the app

Type a UK postcode into the web app, e.g. "SW1A 2AA". Press "Fetch"

Completing the tasks

Search files (Ctrl+Shift+F or Edit --> Find in Files) and search through for "Task 1" to start completing the Dojo.

See Instructions.md for further details and hints about the tasks.

Going further: bundling your app

There is Bundle to package your app:

dotnet run -- Bundle

Going further: deploying to Azure

This requires these prerequisites:

First time run

az login

Then set the name of your app in Build.fs. The name must be globally unique and contain only alphanumeric or hyphen characters.

    let web = webApp {
        name "my-cool-app" // set the name of your app here
    ...

To deploy to Azure:

dotnet run -- Azure

SAFE Stack Documentation

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:

More Repositories

1

farmer

Repeatable Azure deployments with ARM templates - made easy!
F#
525
star
2

htmx-demo

F#
28
star
3

fshelpers

Collection of random F# Helper files
F#
15
star
4

safe-sockets

A simple example of setting up websockets using SAFE
F#
13
star
5

SAFE-PWA

F#
12
star
6

kibalta

A simple F# wrapper over the .NET Azure Search SDK
F#
11
star
7

Meadow-Projects

Sample projects for the Wilderness Labs Meadow platform
F#
11
star
8

safe-search

F#
9
star
9

feliz-ag-grid

F#
9
star
10

SAFE-Containerised

F#
8
star
11

MBrace.Sql

WIP - SQL Layer for running queries against MBrace data stores
F#
8
star
12

giraffe-exercise

F#
7
star
13

SAFE-AD-Auth-example

F#
6
star
14

fable-debugging

JavaScript
6
star
15

azure-deploy

Proof of concept using SAFE Stack and Farmer for a self-service Azure deployment application.
F#
6
star
16

Machine-Learning-For-.NET-Developers-Notebook

F#
6
star
17

SpotifySAFE

F#
5
star
18

testing-dependencies

F#
5
star
19

basic-saturn

A basic Saturn repository
F#
5
star
20

Fake.Fsx

A FAKE extension module for working with FSX files.
F#
5
star
21

safe-minimal

F#
4
star
22

simple-fable

F#
4
star
23

identity-server-saturn

F#
4
star
24

advent-of-code-2020

F#
4
star
25

KeyVaultSigning

F#
4
star
26

spectre-console-demo

F#
4
star
27

fparsec-chess-pgn

Using FParsec to parse Portable Game Notation (PGN) for Chess. Sample repo for a blog post.
F#
4
star
28

dapper-sample

A repository showing how to use "raw" Dapper with F# types
F#
3
star
29

TodoService

F#
3
star
30

fs-quickstart

3
star
31

Python-TensorFlow-binding-example

Python
3
star
32

nbomber-sample

F#
2
star
33

ElmishNavigationSample

F#
2
star
34

storage-identity

F#
2
star
35

ElmishWpfSample

F#
2
star
36

safe-ssr

An example of server-side rendering with the SAFE stack.
F#
2
star
37

feliz-ag-charts

F#
2
star
38

Feliz.ReactSelect

Wrapper over React-Select
F#
2
star
39

safe-react-sample

F#
2
star
40

SAFE-FSharp.Logf

Demo of integrating FSharp.Logf into SAFE Stack
F#
2
star
41

simple-safe

An example "bare-bones" SAFE application
JavaScript
2
star
42

farmer-eventgrid

F#
2
star
43

SAFE-Feliz-Routing

F#
2
star
44

safe-from-scratch

Step by step guide to building a SAFE 5 F# web application from nothing.
F#
2
star
45

safe-deploy-example

A SAFE app with an Azure deploy script
F#
1
star
46

feliz-react-awesome-slider

F#
1
star
47

LinqComparison

C#
1
star
48

farmer-cosmosdb

F#
1
star
49

grate-demo

Companion repo to https://www.compositional-it.com/news-blog/migration-based-database-development/
TSQL
1
star
50

giraffe-and-webjob

F#
1
star
51

safe-search-3

F#
1
star
52

giraffe-validation

F#
1
star
53

SAFE-Configuration-Example

A sample application to demonstate secrets, settings and Key Vault access in ASP .NET Core with the SAFE stack
JavaScript
1
star
54

talk-azuretp

F#
1
star
55

feliz-tippy

F#
1
star
56

safe-easy-auth

F#
1
star
57

cit-console-template

Opinionated F# Console Application template
Forth
1
star
58

safe-stack-with-preact

SAFE Stack v4.2.0 with Preact swapped in for React
F#
1
star
59

aspnet6to8

F#
1
star
60

SAFE-OpenTelemetry-AzureMonitorExporter

Demonstrates a minimal setup using OpenTelemetry and the preview Azure Monitor exporter with the SAFE template
F#
1
star