Digital signage for the ACM Office television.
npm install
cd src
cp secrets.js.sample secrets.js
Populate secrets.js
with your API keys.
Download a prebuilt binary of Electron. Then run:
npm start
If you need to use a custom version of electron:
npm run build
/path/to/electron . # Replace with actual path to Electron binary
A panel is just a React component that can be fit flexibly inside a div
(to conform with the dashboard layout).
To add a new type of panel:
- Create a new panel component in
src/panels/
. - Import your panel component in
src/panels.js
and give it a representative name. - Add an entry in
src/layout.json
to render your panel on the dashboard. - Follow the instructions for 'Changing the layout' to graphically resize and position your panel.
You can manually edit src/layout.json
to change the layout of the Dashboard.
However, you can also run dashboard in layout mode with --layout
, which allows you to drag and resize panels.
-
Run
npm run start:layout
or/path/to/electron . --layout
-
Drag and resize panels on the dashboard.
-
Copy the newly created
current_layout.json
from the project root directory tosrc/layout.json
.mv curent_layout.json src/layout.json
See the wiki for instructions for setting up a production display on a Raspberry Pi.