https://github.com/bcc-code/bcc-media-tools
[BCC Media]
https://github.com/bcc-code/bcc-media-tools
bcc-media
Last synced: 5 months ago
JSON representation
[BCC Media]
- Host: GitHub
- URL: https://github.com/bcc-code/bcc-media-tools
- Owner: bcc-code
- Created: 2024-02-08T14:53:27.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-23T13:17:27.000Z (12 months ago)
- Last Synced: 2025-06-23T14:28:30.956Z (12 months ago)
- Topics: bcc-media
- Language: Vue
- Homepage: https://tools.bcc.media/
- Size: 1.76 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BCC Media Tools
Contains several tools used for various internal/backoffice tasks.
Current tools:
- Transcription editor
- BMM Uploader
## Tools
### Transcription Editor
Allows editing word level timestamped trascriptions in json format.
It is possible to syncronize the transcription with the preview from Mediabanken.
#### Usage
TODO
### BMM Uploader
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.
## Development
### Requirements
- Node.js
- pnpm
- Golang
- Temporal dev server ([Instructions](https://learn.temporal.io/getting_started/go/dev_environment/#set-up-a-local-temporal-service-for-development-with-temporal-cli))
- Docker (if you want to build images)
- ConnectRPC tools (see below)
### Setup
Install connectrpc tools:
```bash
# 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
```
If you get issues where protobuf cannot find the go plugins, ensure your Go bin directory is in your PATH.
```sh
export PATH=$PATH:$(go env GOPATH)/bin
```
Install dependencies:
```bash
cd frontend
pnpm install
cd ../backend
go mod download
cd ..
```
Update Config:
```bash
cp frontend/env.example frontend/.env
vim frontend/.env
cp backend/env.example backend/.env
vim backend/.env
```
Update intial permissions:
```bash
cp permissions.example.json permissions.json
vim permissions.json
```
### Development
Start temporal:
```bash
temporal server start-dev
```
Start the frontend:
```bash
cd frontend && pnpm dev
```
Start the backend:
```bash
cd backend && go run cmd/server/main.go
```
Regenerate api code:
```bash
buf generate
```
#### Working with the API
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:
- [ConnectRPC](https://connectrpc.com/)
- [Protobuf 3](https://protobuf.dev/programming-guides/proto3/)
- [gRPC](https://grpc.io/docs/languages/go/basics/)