Skip to content

royaloperahouse/DS2-VMS

Repository files navigation

Digital Stage 2: Video Management System

A proof of concept video CMS, implemented in Strapi.

Installation

You'll need Node LTS and Yarn.

git clone git@github.com:royaloperahouse/DS2-VMS.git cd DS2-VMS yarn install yarn develop

Visit http://localhost:1337/admin to create a local admin user.

Development

Either create or update content types using the Content types builder UI or edit models in /api/<content-type>/models/<content-type>.settings.json.

Create a new branch for your changes, and submit it as a PR.

If you forget your local password, run strapi admin:reset-user-password.

Deployment

This app is currently hosted on Heroku, and builds automatically from main.

In production, the app expects two environment variables:

  • DATABASE_URL: a URL to a Postgres database, e.g. postgres://username:password@host:port/database
  • NODE_ENV: 'production'

and additionally, on Heroku:

  • HEROKU_URL: the URL for the app on Heroku, without trailing slash, e.g. https://ds2-vms.herokuapp.com

API Usage

A list of all published videos:

https://ds2-vms.herokuapp.com/videos

Details for a specific video:

https://ds2-vms.herokuapp.com/videos/1

For write access, you first need to retrieve an auth token:

curl\ --data "identifier=api@roh.org.uk"\ --data "password=<PASSWORD>"\ https://ds2-vms.herokuapp.com/auth/local

Then, using the jwt token returned:

curl\ -H "Authorization: Bearer <ACCESS_TOKEN>"\ --data "diese_id=21"\ --data "title=Hello World"\ --data "duration=120"\ --data "manifest_url=https://cdn.roh.org.uk/this.m3u8"\ https://ds2-vms.herokuapp.com/videos/

TODO

  • Fix local / production envs (SQLite locally?)
  • More docs
  • Package as Docker container

About

Video Management System for Digital Stage 2 (proof of concept)

Resources

Stars

Watchers

Forks

Contributors