.github/profile/README.en.md at main · Microcoaster/.github · GitHub
Skip to content

Latest commit

 

History

History
90 lines (52 loc) · 6.75 KB

README.en.md

File metadata and controls

90 lines (52 loc) · 6.75 KB

Lire cette page en français English, page shown

MicroCoaster, modular connected miniature roller coaster kits

MicroCoaster designs and sells modular miniature roller coaster kits, at 1:78 scale, for enthusiasts, collectors and engineers. Every layout is made of standalone modules that join the network and are driven from a web application.

Founded by Thomas Schirnhofer in Austria · microcoaster.com

This organisation holds all the software: the control application, the ESP32 firmwares for the modules, and the community tools.

01 The application

MicroCoaster WebApp, the web control application

Live at app.microcoaster.com. It discovers the connected modules, shows their telemetry in real time, and lets you build timelines that orchestrate a whole layout: station dispatch, points, light effects, smoke and audio fired in the order you want.

It is also what decides. A module never starts moving on its own: it carries out an order from the server, the only one that knows the full state of the layout. That asymmetry is the design rule that holds everything else up.

Node.js · Express · MySQL · Socket.io for the web pages · raw WebSocket for the ESP32s

02 The modules

They all share the same base: an ESP32 under PlatformIO, a captive portal for joining the network, then a permanent WebSocket link to the server.

WiFi Manager, the base firmware shared by the modules

Switch Track, the points module

Launch Track, the launch section

Lift Hill, hauling the train up

Audio module, an embedded player

Smoke Machine, the smoke module

LED bench, the test version of the Switch Track

Two ways of giving the train the energy it will live on: haul it to the top of a hill, or accelerate it over a few tens of centimetres. The Lift Hill does the first, the Launch Track the second.

03 Around the product

The Discord support and warranty bot

Guess The Coaster, a community Discord game

MicroCoaster Docs, the holding page for the product documentation

MicroCoaster Forum, the holding page for the community forum

The documentation and the forum do not exist yet. These two repositories hold their domains in the meantime, with a countdown and a language switch. An Express server serving static files, with no build step: a holding page that needs a toolchain is a holding page nobody dares touch again.

04 Working here

An issue, then a branch, commits, a review, the merge

Branch graph. main carries stable production code. develop is where development is integrated. feature and bugfix start from develop and come back onto it, for new features and fixes. hotfix starts from main and comes back onto it, for an urgent fix grafted onto production. None of these lines reaches main or develop without going through a review.

A bug spotted or an idea passing through: open an issue straight away. That is what keeps it from being forgotten, what lets it be discussed, and what keeps a record of the decision.

Conventions. Commits in type: description form, for example feat: ajout contrôle fumée. Branches prefixed then described in kebab-case. Issues labelled bug, fonctionnalité or documentation. Pull requests with a clear description and a reference back to the issue.

Not up for discussion. No direct push to main or to develop. Review required before merging. Local tests before opening a pull request. A clean, linear history.

The contribution guide, in French, covers the Git commands, examples of the conventions and how to get out of the usual trouble. Sitting at the root of the .github repository, it serves as the default guide for every repository in the organisation.

05 Following us

The site: microcoaster.com    The community on Discord    The YouTube channel @microcoaster    The photos on Instagram @microcoaster

microcoaster.com

MicroCoaster, endless hours of fun. microcoaster.com, scale 1:78, designed in Austria.