Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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:

Node.js

SparkleMuffin uses the Node.js runtime to build its frontend assets.

We recommend installing the current Long-Term Support (LTS) version of Node.js.

Linux

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

macOS

The recommended way of installing Node.js is via the Homebrew community packages:

$ brew install node

Windows

The recommended way of installing Node.js is via winget:

$ winget install --id=OpenJS.NodeJS

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.