Trumpet requires Python 3 and Flask to be installed on a computer that will be on for the duration of your event. You can download Python 3 from python.org - when you do make sure that you also install pip. Once that's finished, in a terminal run the command (may require sudo
, or appending --user
to the command):
$ pip install Flask
Navigate to the location you would like to save Trumpet to, and run the command:
$ git clone https://github.com/HackSocNotts/trumpet.git
Navigate to the trumpet folder that was just created, and open misc/config.json
in a text editor of your choice. For now, ignore the firebase configuration details, and fill in the rest of the file:
Name | Description |
---|---|
terminalPass | The password that must be entered to access the 10ft display or terminal page |
hackathonStart | An ISO 8601 date string representing the start of the hacking duration of the event |
hackathonEnd | An ISO 8601 date string representing the end of the hacking duration of the event |
eventName | The name to show at the top of the current time/time remaining screen |
eventEndInfo | HTML formatted information to show after the hacking duration of the event has ended |
mainBackground | The colour of the background of the current time/time remaining screen |
alertBackground | The colour of the background of alerts that appear on the screen |
mainTextColour | The colour of text on the current time/time remaining screen |
alertTextColour | The colour of text on the alerts that appear on the screen (though not in tweets) |
progressBarLeft | The colour of the left part of the progress bar (grows right as the event goes on) |
progressBarRight | The colour of the right part of the progress bar (shrinks right as the event goes on) |
Trumpet uses Firebase in order to quickly distribute information from a terminal page to all screens at an event. In order to set it up to be used, go to https://console.firebase.google.com and click "Add project". Enter a name ("yourhackathonsname-trumpet" is probably a good idea) and click continue (it's up to you what you use for the Google Analytics sharing settings).
When that's finished being created, click on "Database" on the sidebar on the left side of the screen. Click "Create database" and in the pop-up that appears, click "Start in test mode" followed by "Enable".
Next, navigate to the "Authentication" tab on the sidebar, at the top of the list. On the top right of the screen, click "Web setup" and copy the values for "apiKey" and "projectID" from the config object in the pop-up that appears into misc/config.json
(in place of ENTER_API_KEY_HERE
and ENTER_PROJECT_ID_HERE
).
Now, run the server.py
file. The exact command may vary depending on your operating system, so if in doubt, look up how to run Python 3 files on your setup. Then, navigate to http://localhost:5000
from a browser. If everything is working, this will show an index page with links labelled "10ft" and "Terminal". "10ft" is the page designed to be shown on screens around the event, and "Terminal" is the page that allows you to send messages, gifs, tweets, or whatever other HTML you'd like to show to all at the event.
At each computer you'd like to show the 10ft display page, navigate to your computer's IP address (with port 5000), click "10ft" and enter the password you set in step 3. Then, if you'd like to send a message during the event, open the terminal page on another computer and enter your password. Then select the appropriate type for the message, the duration in seconds you'd like the message to appear for, and click "Submit Modal". The types of messages are as follows:
Type | Description |
---|---|
Text | Either plaintext, or html |
Image | The url for an image (can be of any type a browser can display, such as png, jpg or gif) |
Tweet | Thr url to a tweet, such as https://twitter.com/jack/status/20 |