Skip to content

Learning

This section contains useful repositories that allow you to learn more about the SAFE stack, at your own pace.

Tutorials

SAFE Dojo

This dojo is a guided set of tasks designed to give you hands-on experience with the client and server components of the SAFE stack. You'll create server-side routes, client side UI and shared validation logic as you create a mashup application to provide details on UK locations.

The dojo takes around 90 minutes to complete if you have never worked with the stack before.

SAFE Samples

The following example repositories (and more!) can be found in the official SAFE Stack organisational GitHub page.

SAFE Todo List

The simplest Todo app: a client-server application written entirely in F# using Elmish on the client. Remoting for type-safe communication between the two.

tabula-rasa

A minimalistic real-worldish blog engine written entirely in F#. Specifically made as a learning resource when building apps with the SAFE stack. This application features many concerns of large apps such as logging, database access, secured remoting, web sockets and much more.

SAFE Bookstore

This sample demonstrates many of the useful features of a larger SAFE application, including login authentication using JWT tokens, automated deployment via Docker and SEO support with urls for pages. It also includes an example of using Azure Storage tables as a persistence store.

SAFE ConfPlanner

This sample demonstrates how to build and share a complex domain model in SAFE across client and server, along with the use of websockets for a "reactive" UI support push notifications. It also demonstrates the use of F#'s flexible mailbox processors to implement an event-driven architecture.

This repository shows how to use Azure services to implement a SAFE application that supports searching over multiple data sources with support for find-ahead typing and throttling. The application uses a combination of Azure Search and Azure Storage Tables to construct a large search index that can rapidly find results in a number of ways.

SAFE Chat

This application is a real-time chat application built on SAFE that uses the AKKA framework to manage actors that represent chat users, including Akka Streams and the Akkling F# library.

SAFE Nightwatch

This application is a sample mobile application using the React Native library, built on top of the SAFE stack. React Native permits a very similar programming when writing SAFE applications as browser applications, so the experience should be very familiar to you.

Videos

Other Resources