Skip to main content

Tools used in the Ampersand project

Specific tools used in the Ampersand project

ToolPurpose
Ampersand imageA docker-image in which we keep the latest version of the Ampersand compiler in executable form. It resides in docker-hub.
Ampersand compilerAn executable that is used to generate software, documentation, and analyses from Ampersand-scripts. It is embedded into the Ampersand image and into RAP3. There exist multiple instances, so we cannot hyperlink to it.
Ampersand repositoryA repositoryin which we keep Ampersand source codeand manage the issues wrt Ampersand.
Docker HubA repository in which we keep Ampersand images
Rule Based DesignA course at the Open Universiteit.
GitHubAn organisation in which we keep all Ampersand git-repos.
RAP3A web-based application, generated with Ampersand for the public at large to use Ampersand. This instance is also used as acceptation environment for the RAP instance for students in the course Rule Based Design.
RAPA web-based application, generated with Ampersand that is used as production environment for students in the course Rule Based Design.

Generic tools used in the Ampersand project

ToolPurpose
ACEA web-editor that is used within RAP. It has been integrated in the RAP-application code.
DockerThe platform for technology agnostic, fully automated deployment of services, which we use to deploy the Ampersand compiler and applications developed in Ampersand.
Docker-composeA platform for configuring services in a full-fledged application such as RAP.
GitThe versioning system in which all source code is kept. It enables us to work collaboratively on multiple features in parallel, without interfering each other\'s work.
GraphvizA system for generating diagrams, which is used to generate conceptual models and data models as part of the documentation generator.
HaskellThe programming language in which the Ampersand compiler is built and maintained.
KubernetesA platform for configuring and managing deployed services (such as RAP) in an operational environment. Kubernetes is not being used yet in production instances of Ampersand.
MariaDBThe database that is used by Ampersand for persistency. This used to be MySQL, until MariaDB took over in the Open Source community.
MarkdownThe language in which Ampersand documentation is written. We use it for maximal portability of text over different platforms.
Node.jsThe JavaScript framework in which an Ampersand Prototype is generated.
PandocA system for document translation and markup, which we use to create a host of different document formats.
StackA build automation environment for Haskell that we use to build the Ampersand compiler with. It guarantees consistency of module dependencies within the Haskell world.
VS-codeAn editor for development of the Ampersand compiler and Ampersand-projects. A VScode extension for Ampersand exists that offers syntax coloring and other language specific features.