Contains several tools used for various internal/backoffice tasks.
Current tools:
- Transcription editor
- BMM Uploader
Allows editing word level timestamped trascriptions in json format. It is possible to syncronize the transcription with the preview from Mediabanken.
TODO
Allows uploading files, with direct link to BMM. The files are ingested using a temporal workflow after upload.
The main functionality is the ability to select a track from BMM and upload a file to it.
- Node.js
- pnpm
- Golang
- Temporal dev server (Instructions)
- Docker (if you want to build images)
- ConnectRPC tools (see below)
Install connectrpc tools:
# GO tools
go install github.com/bufbuild/buf/cmd/buf@latest
go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install connectrpc.com/connect/cmd/protoc-gen-connect-go@latest
# TypeScript/JS tools
# This are installed globally, you can also install them locally if you want to mess around
npm install -g @connectrpc/protoc-gen-connect-es @bufbuild/protoc-gen-es
Install dependencies:
cd frontend
pnpm install
cd ../backend
go mod download
cd ..
Update Config:
cp frontend/env.example frontend/.env
vim frontend/.env
cp backend/env.example backend/.env
vim backend/.env
Update intial permissions:
cp permissions.example.json permissions.json
vim permissions.json
Start temporal:
temporal server start-dev
Start the frontend:
cd frontend && pnpm dev
Start the backend:
cd backend && go run cmd/server/main.go
Regenerate api code:
buf generate
The api is defined in api/api.proto
.
The definitions are written in protobuf, and the code is generated using buf
and protoc-gen-connect-go
.
More information can be found at: