49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
|
|
<div align="center">
|
|
<img alt="banner" src="./assets/brunsviga_banner.svg" width="60%"/>
|
|
<br>
|
|
<h2>Technology demonstration for 3D simulation of Brunsviga RK 13</h2>
|
|
</div>
|
|
|
|
This repository is a demonstration of web technologies that might be used for simulating the Brunsviga RK 13 mechanical calculator.
|
|
The demo is designed to be small and lightweight in deploment.
|
|
|
|
We use `vite` as the build system for a `react.js` web application that makes use `three.js` WebGL capabilites in order to render 3D objects and animate them in realtime.
|
|
Typescript is the preferred language as it offers relative type-safety during development.
|
|
The user interface is styled with `tailwindcss` and will refer to the paper, source code and some refernce documentation for the Brunsviga RK 13.
|
|
|
|
The built application can be delpoyed via a static web server such as Nginx (see docker container).
|
|
|
|
<img src="./assets/preview.png" alt="preview" width="80%>
|
|
|
|
## ☁️ Technology Stack
|
|
|
|
- Vite
|
|
- React
|
|
- Tailwind CSS
|
|
- Three.js
|
|
|
|
## 🚀 Getting Started
|
|
|
|
In order to get started, clone the repository:
|
|
```
|
|
git clone https://git.montehaselino.de/servostar/brunsviga-demo.git
|
|
```
|
|
|
|
Then build compile the application and run in development mode:
|
|
```
|
|
npm ci && npm run dev
|
|
```
|
|
|
|
## 🐋 Docker Container
|
|
|
|
The application can be build and launched in a multi stage container:
|
|
```
|
|
docker build --tag brunsviga-demo:latest .
|
|
```
|
|
|
|
Then run the container on port 80:
|
|
```
|
|
docker run -p 80:80 brunsviga-demo:latest
|
|
```
|