ceres

command module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2024 License: AGPL-3.0 Imports: 15 Imported by: 0

README

Ceres

Ceres is a recipe server for local networks.

Usage

The Ceres source code can be downloaded with Git.

git clone https://cgit.xengineering.eu/ceres
cd ceres
git submodule update --init

Only the Go tool is required to build ceres.

go build

The resulting ceres executable can be run with the embedded default configuration. It produces a storage folder containing the SQLite3 database. The storage directory is set in the configuration file. See default_config.json for a reference.

./ceres

For development it is recommended to build and run it without producing an executable, an activated race detector and injected examples.

go run --race ./... --examples

The help page (./ceres --help) contains further details.

Repository structure

This repository uses an interpretation of the Model-view-controller pattern to organize the code. The result is a set of three sub-packages of the main xengineering.eu/ceres package.

The model package contains the struct definitions for the handled data and the code for Object-relational mapping to store the data in a SQL-based database. Usually the common create, read, update and delete (CRUD) functionalities are implemented as methods.

The controller package contains all HTTP handlers used to modify the data while the view package contains all HTTP handlers to display the data in any formats. HTML templates are part of this package.

API definition for Semantic Versioning

Ceres uses Semantic Versioning as defined by semver.org. This requires to define a "public API". These aspects of Ceres together form the public API:

  • command line interface
  • HTTP interface
  • data storage format
  • configuration file format and structure

As soon as version 1.0.0 is reached these aspects are stable.

Documentation

The Go Gopher

There is no documentation for this package.

Source Files

  • config.go
  • flags.go
  • main.go
  • server.go
  • version.go

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL