# Topos: A Web-Based Algorithmic Sequencer

 | Discord | BuboBuboAmiika | About Live Coding |

Contributors

Topos is a web-based live coding environment. It lives [here](https://topos.live). Documentation is directly embedded in the application itself. Topos is an emulation and extension of the [Monome Teletype](https://monome.org/docs/teletype/) that gradually evolved into something a bit more personal. ![Screenshot](https://github.com/Bubobubobubobubo/Topos/blob/main/img/topos_gif.gif) ## Disclaimer **Topos** is a fairly young project developed by two part time hobbyists :) Do not expect stable features and/or user support in the initial development stage. Contributors and curious people are welcome! The software is working quite well and we are continuously striving to improve it. ## Installation (for devs and contributors) To run the application, you will need to install [Node.js](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/en/). Then, clone the repository and run: - `yarn install` - `yarn run dev` To build the application for production, you will need to install [Node.js](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/en/). Then, clone the repository and run: - `yarn run build` - `yarn run start` Always run a build before committing to check for compiler errors. The automatic deployment on the `main` branch will not accept compiler errors! To build a standalone browser application using [Tauri](https://tauri.app/), you will need to have [Node.js](https://nodejs.org/en/), [Yarn](https://yarnpkg.com/en/) and [Rust](https://www.rust-lang.org/) installed. Then, clone the repository and run: - `yarn tauri build` - `yarn tauri dev` The `tauri` version is only here to quickstart future developments but nothing has been done yet. ## Docker ### Run the application `docker run -p 8001:80 yassinsiouda/topos:latest` ### Build and run the prod image `docker compose --profile prod up` ### Build and run the dev image **First installation** First you need to map node_modules to your local machine for your ide intellisense to work properly ```bash docker compose --profile dev up -d docker cp topos-dev:/app/node_modules . docker compose --profile dev down ``` **Then** ```bash docker compose --profile dev up ```