Skip to content

dtcooper/tomato

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Documentation | Desktop App | Server | Controller

Client build status Server build &amp deploy status Docs build status

Latest release MIT License GitHub stars GitHub Issues Latest commit

Client and server for Tomato Radio Automation software. Tomato is easy to use, and hard to screw up playout software written for the specific use case of Burning Man Information Radio.

The backend server is written in Python's Django web framework, heavily leveraging its automatic admin interface.

The desktop app is a native, cross-platform Svelte + Electron app. It communicates with the backend via a websocket and supports intermittent connectivity loss.

Running the Code

Server

Detailed instructions on how to install the server in both development and production environments can be found here in the docs.

Client (Desktop App)

Download a development preview build here or run the client's code locally following the instruction here

Documentation

To run the documentation locally, install Python 3.9 or higher. Then in your terminal,

# Install Poetry (for Python dependencies) if you don't already have it.
curl -sSL https://install.python-poetry.org | python3 -

# Clone the repo
git clone https://github.com/dtcooper/tomato.git

# Enter the docs code
cd tomato/docs

# Install dependencies and run
poetry install
poetry run mkdocs serve

Head over to http://localhost:8888/ in your web browser.

Stack

Acknowledgements

Tomato's UX and UI was designed in part by Miranda Kay. Testing and feedback was provided by the entire Burning Man Information Radio (BMIR) team.

TODO List

See TODO list.

License

This project is licensed under the MIT License — see the LICENSE file for details.