Skip to content

The backend api for the benderfactory, powering all social features

License

Notifications You must be signed in to change notification settings

BENDERFACToRY/api

Repository files navigation

Vault API

The vault API contains all relational data about the media. It does not store the media itself

Running locally

Install:

  • Hasura CLI
  • docker & docker-compose
  • postgresql-client:13

Prepare

  • copy docker-compose.override.template.yml to docker-compose.override.yml
  • copy .env.template to .env

Models:

  • User
  • Media
  • Like
  • Tag
  • Comment

--- later

  • Project

User

User table will store identifiable information for recognizing the user. It has a reference to liked media

Media

The media is stored on IPFS, so it has a reference to the IPFS location Media can be formatted in multiple formats (ogg, mp3, flac for audio) Media has metadata attached to it, bpm, bitrate, etc

Like

Likes happen on Media Make sure it's simple aggregating the amount of likes on a resource

Tag

Tags are attached on Media, in order to filter and find similar tracks, and categorize them. Tags will be part of a voting system, so they receive a weight. Every time a user tags a resource, it adds some weight to the tag. When sufficient weight is on a tag it will be visible

Comment

Comments happen on media, they optionally reference a timestamp/timespan

Managing migrations:

https://hasura.io/docs/latest/graphql/core/migrations/migrations-setup.html

  • Create a migration: hasura migrate create "init" --from-server
  • Apply the migration

About

The backend api for the benderfactory, powering all social features

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •