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:
- Multi-stage builds
- Local build cache volumes
- The buildx integration for BuildKit
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.