Here is the first draft of the table schemas I'm considering for the backend:
User:
id SERIAL PRIMARY KEY
name VARCHAR(100)
password TEXT
profile-url TEXT
Audiodata:
id SERIAL PRIMARY KEY
title VARCHAR(100)
description VARCHAR(255)
tag VARCHAR(20)
likes INT
created TIMESTAMP
Audiosource:
id SERIAL PRIMARY KEY
audio-data-id INT
hostname: VARCHAR(255)
host-url TEXT
encrypted BOOL
mime-type VARCHAR(25)
metadata-url TEXT
chain-data-url TEXT
CONSTRAINT fk_audiodata
FOREIGN KEY(audio-data-id)
REFERENCES audiodata(id)
Comment:
id: SERIAL PRIMARY KEY
content: VARCHAR(255)
owner: [ user id ]
target: [ audiodata id ]
likes: INT