Build scalable F# services faster with CloudSeed.

The simple, scalable project boilerplate for F# / .NET.

Production Ready

CloudSeed provides a lean core with sane, modular defaults. You can ship to production as is and easily extend / modify / replace to fit your usecase.

  • Easy to Extend / Modify / Replace

    Replace anything from the core web server to ORM to DB technology in a few lines. CloudSeed is built with a modular infrastructure, allowing you to extend / modify / replace any component to fit your usecase.

  • Data Integration + Upgrades

    Ships with Dapper ORM and DBUp for easy, transparent data access and migrations / upgrades. Relies on dotnet standard interfaces for easy extensibility / replacement.

  • Run Anywhere

    Fully containerized via Docker and docker-compose for hosting and development anywhere.

  • TDD Ready

    Full testing suite with live, local DB for integration tests.

  • Performant by Default

    Includes core library wrappers that make it easy to spin up sane caches / queues to keep your service responsive

CloudSeed Tech Stack

What's Included

CloudSeed ships with boring, battle-tested technologies by default so you can ship as-is.

  • Containerized, Orchestrated Apps

    Each app is fully containerized via Docker with top-level docker-compose for orchestrating serving and testing against a live, local DB

  • Backend (Fsharp / .NET)

    CloudSeed is built to be API-first with minimal external dependencies. By default: Giraffe on .NET (server), Dapper (ORM), docker-compose to spin up full local copy with live DB.

  • Backend Tests (Fsharp / xUnit)

    Comprehensive testing suite ready for TDD. XUnit (testing framework) orchestrated with docker-compose for full integration tests against a live local DB.

  • [Optional] Frontend (Svelte / SvelteKit)

    CloudSeed ships with a barebones frontend built with Svelte / SvelteKit. Easy to replace with the web framework of your choice.

  • [Local] Development Database (Postgres)

    A containerized Postgres instance for local testing / serving against a live DB. Easy to replace with a different DB technology.