Development Tools

Git

The source code is tracked using the Git Source Code Management tool, and available on Github at github.com/virtualtam/sparklemuffin.

To get started with using Git and Github:

Go

SparkleMuffin is mainly written with the Go programming language.

See go.mod for the minimum version of Go required by SparkleMuffin.

Linux

The recommended way of installing Go is via your Linux distribution's package manager.

macOS

The recommended way of installing Go is via the Homebrew community packages:

$ brew install go

Windows

The recommended way of installing Go is via winget:

$ winget install --id=GoLang.Go

Manual installation (advanced users)

To install a specific version of Go, see:

Docker

Docker is used to:

  • Package the application as easy-to-run Docker images;
  • Run database integration tests with Testcontainers;
  • Spin a local development environment with Docker Compose

A recent version of Docker is required to build Docker images locally, as we leverage:

GNU Make

A Makefile is provided for convenience to help running tests, linters, generate documentation and spin local development environments.

mdBook

mdBook is used to generate a static HTML documentation from Markdown files.

Watchexec

watchexec is used to live-reload the development server when source files have been changed on the disk.