Tools used in the Ampersand project
This page lists the tools that are used and for which purpose they are used. This list is intended for reference, so it is full of hyperlinks that can point you to the right location.

Specific tools used in the Ampersand project

Tool
Purpose (the hyperlink navigates to the section in this book)
Knowledge holder
a docker-image in which we keep the latest version of the Ampersand compiler in executable form. It resides in docker-hub.
all
Ampersand compiler
An 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.
a repository in which we keep Ampersand source code and manage the issues wrt Ampersand. It resides on GitHub.
all
Appveyor
a service that generates executable files for Windows automatically, each time a new release of Ampersand appears. It releases the Ampersand compiler for Windows automatically, provided all automated tests have passed
Han
a repository in which we keep Ampersand images
GitBook
a documentation system in which we maintain the documentation of Ampersand and the documentation on how we build and maintain the software. We use GitBook to allow collaborative editing in the documentation based on Git.
GitHub
an organisation in which we keep all Ampersand git-repos
all
RAP3
a web-based application for the public at large to use Ampersand. This instance is also used as acceptation environment for the RAP3 instance that is used for students in the course Rule Based Design.
Lloyd, Stef
RAP3
a web-based application that is used as production environment for students in the course Rule Based Design.
Esther, Lloyd, Stef
RAP-repo
a Github repository in which we keep the source code of RAP .
Stef
a course at the Open Universiteit in which students use Ampersand.
Travis
a service, which runs automated tests on every commit of the Ampersand repository on Github. Only the successfully tested commits on the releases branch are released
Han

Generic tools used in the Ampersand project

Tool
Purpose
Knowledge holder
ACE
a web-editor that is used within RAP. It has been integrated in the RAP-application code.
Michiel
EditPad
a text editor that has long been used in the Ampersand project, but not any more. A syntax coloring mechanism for Ampersand still exists. This editor has been superseded by VScode, because it is being supported by a much larger community.
Rieks
Docker
the platform for technology agnostic, fully automated deployment of services, which we use to deploy the Ampersand compiler and applications developed in Ampersand.
a platform for configuring services in a full-fledged application such as RAP.
Git
the 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.
Graphviz
a system for generating diagrams, which is used to generate conceptual models and data models as part of the documentation generator.
Stef, Han
Haskell
the programming language in which the Ampersand compiler is built and maintained.
JSON
a simple, standardized, format for communicating data structures. It is used to communicate data from the Ampersand-compiler to the generated application.
Han, Michiel
a 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.
Stef
LaTeX
a typesetting system, which we use to generate PDF's with. At the moment MarkDown is the preferred markup language, so LaTeX's role in the Ampersand project is decreasing.
Stef, Han
MariaDB
the database that is used by Ampersand for persistency. This used to be MySQL, until MariaDB took over in the Open Source community.
Markdown
the language in which Ampersand documentation is written. We use it for maximal portability of text over different platforms.
all
Node.js
the JavaScript framework in which an Ampersand Prototype is generated
Michiel
npm
the package manager for JavaScript, which guarantees consistency of module dependencies in the JavaScript world.
Michiel
Pandoc
a system for document translation and markup, which we use to create a host of different document formats
Han
Stack
a build automation environment for Haskell that we use to build the Ampersand compiler with. It guarantees consistency of module dependencies within the Haskell world.
Han, Stef
VS-code
an editor for development of the Ampersand compiler and Ampersand-projects. A VScode extension for Ampersand exists that offers syntax coloring.
Han, Rieks
Last modified 2yr ago