Home

Awesome

Renkbench

Renkbench CI codecov License: GPL v3

Screenshot

A JavaScript Amiga Workbench 1.3.3 look and feel clone with a Go and MongoDB backend. Live on renkbench.de.

Goal

For getting some JavaScript practice, in the year 2009 I created an Amiga Workbench clone and hosted it on Lachsfilet.de. Since not all look and feel features of the orginal Workbench were implemented, in December of 2018 I started to refactor the code and added some missing features.

In the meantime I put the whole page into a Docker container to simplify the deployment process.

Frontend features

Currently, the Workbench clone contains the following features:

To-do

Backend

In 2022, I switched the whole backend to Go and replaced the single JSON-file for the content with a MongoDB instance.

For content seeding (windows, menu, etc.) I wrote an own Go application called init.

Docker

The system is setup with Docker Compose, consisting of two containers:

Putting the application into a Docker image enhanced the delivery process and brought the advantage to run it locally without setting up a MongoDB instance and the Node.js stuff for the JacaScript unit tests. For CI build and release I added the Azure DevOps pipelines as YAML code. I will replace them with GitHub Actions, which are also stored in the current repository.

JavaScript unit tests

I started with unit testing using Jasmine and jsdom, after I cut the createNode builder out of the monolith.