Skip to content

GEWIS/narrowcasting-core

Repository files navigation

Aurora Core

Aurora is the software suite that integrates and synchronizes DMX lighting, narrowcasting screens and currently playing music. The system is designed around a publish-subscribe architecture. Executing clients connect to the core using SocketIO Websockets. End users can send commands to Aurora by using HTTP (in the backoffice).

This repository is the publisher or "core" of the system. All other applications connect to this central hub. The other repositories can be found here:

Prerequisites

  • NodeJS 20.

Installation

  1. Copy .env.example to .env and fill in the environment variables.
  2. Run npm install.
  3. Run npm run dev.
  4. The application is now running at http://localhost:3000. The API documentation can be found at http://localhost:3000/api-docs.

Authentication is done using Keycloak. However, while in development mode you can also use the /auth/mock endpoint to mock a Keycloak authentication.

To get started more easily, you can seed the database with GEWIS's setup using npm run seed. You can then find the API keys for all the subscribers in the api_key SQL table.

Integration with external services

To fully utilize all functionality of Aurora, some extra environment variables are required:

  • To use Spotify integration, create an app in the Spotify Developer dashboard.
  • To use the narrowcasting poster screen, create a Trello board and have a Trello API Key and Token.
  • To use the "train departures" poster on the narrowcasting poster screen, you need an NS key.
  • To use GEWIS photos on the narrowcasting poster screen, you need an internal GEWIS website token.

Deployment

Aurora can easily be deployed by using Docker Compose. Note that this only includes the core, backoffice and narrowcasting client. The audio player and DMX lights proxy need to be installed manually onto their destined systems, as those applications require an audio output and connected ARTnet controller respectively.

License

Aurora uses the GPL-3.0 license.

About

Aurora is a software suite to integrate and synchronize DMX lighting, narrowcasting screens and music.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Languages