Beep backend handling of audio bites.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Daniel Lim f847fe3402 Copy backend-protobuf/go in Dockerfile 2 years ago
backend-protobuf@a36ddf9a81 Added backend-protobuf as submodule 2 years ago
.env Use env for config instead of flags 3 years ago
.gitignore Oops forgot gitignore 3 years ago
.gitmodules Added backend-protobuf as submodule 2 years ago
Dockerfile Copy backend-protobuf/go in Dockerfile 2 years ago
README.md Use env for config instead of flags 3 years ago
go.mod Use env for config instead of flags 3 years ago
go.sum Use env for config instead of flags 3 years ago
main.go Added backend-protobuf as submodule 2 years ago

README.md

backend-bite

Beep backend handling of audio bites. Chopped up words spoken are uploaded into bite to be stored in a scan-able key-value store. Subscribes to new_bite and new_bite_user events from a NATS publisher.

Quickstart

go build && ./backend-bite

Environment Variables

Supply environment variables by either exporting them or editing .env.

ENV Description Default
LISTEN Host and port number to listen on :8080
NATS Host and port of nats nats://localhost:4222

API

Scan Bites

GET /conversation/:key/scan

Get a list of bite start times within a conversation key and specified timespan.

URL Params

Name Type Description
key String Audio bite's conversation's ID.

Querystring

Name Type Description
from Epoch timestamp Time to start scanning from
to Epoch timestamp Time to scan to

Success (200 OK)

Content-Type: application/json
{
  "previous": <Timestamp of bite before <starts>>,
  "starts": [Timestamp, Timestamp...],
  "next": <Timestamp of bite after <starts>>,
}

Errors

Code Description
400 Malformed input (from/to not timestamp, key not alphanumeric).
500 NATs or protobuf serilisation encountered errors.

Get Bite

GET /conversation/:key/start/:start

Get a specific bite.

URL Params

Name Type Description
key String Audio bite's conversation's ID.
start Epoch timestamp Time the audio bite starts.

Success (200 OK)

Raw audio data.

Errors

Code Description
400 start is not an uint/key is not an alphanumeric string/specified bite could not be found
500 NATs or protobuf serilisation encountered errors.

Get Bite User

GET /conversation/:key/start/:start/user

Get a specific bite_user.

URL Params

Name Type Description
key String Audio bite's conversation's ID.
start Epoch timestamp Time the audio bite starts.

Success (200 OK)

Raw audio data.

Errors

Code Description
400 start is not an uint/key is not an alphanumeric string/specified bite could not be found
500 NATs or protobuf serilisation encountered errors.