Program info API for German public broadcasting services.
This is a small node.js server to get current programm information (start and end time, title, description, etc.) from many German public broadcasting services as JSON. It is used by the Android app Zapp
- You need node.js installed on your machine to run this project.
- Check out the project using Git.
- Run
npm install
inside the newly created directory. - Set PORT as an environment variable inside your console. Eg.
PORT=3000
on linux orSET PORT=3000
(CMD) or$env:PORT=3000
(PowerShell) on windows. - Run
npm start
. - Open your browser and head to
http://localhost:3000/v1/shows/das_erste
(or replace 3000 with your PORT value) to get program info for ARD.
- Run
npm test
to run linting and basic function tests. - Run
npm lint
to run jshint and check for code style errors.
This app gets auto deployed via github action whenever a taged commit is pushed.
To deploy tag your commit using demantic versioning. Make sure to update the version in index.js accordingly.
docker run --name zapp-backend -p 80:3000 mediathekview/zapp-backend
apiVersion: v1
kind: Namespace
metadata:
name: mediathekview
---
apiVersion: v1
kind: Service
metadata:
name: zapp-backend
namespace: mediathekview
spec:
ports:
- name: http
protocol: TCP
port: 3000
selector:
app: zapp-backend
---
kind: Deployment
apiVersion: apps/v1
metadata:
namespace: mediathekview
name: zapp-backend
labels:
app: zapp-backend
spec:
replicas: 1
selector:
matchLabels:
app: zapp-backend
template:
metadata:
labels:
app: zapp-backend
spec:
containers:
- name: zapp-backend
image: mediathekview/zapp-backend
ports:
- name: web
containerPort: 3000
---
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: zapp-backend-ingress
namespace: mediathekview
spec:
rules:
- host: api.zapp.mediathekview.de
http:
paths:
- path: /
backend:
serviceName: zapp-backend
servicePort: 3000