bogas04 / keertancloud

Spotify for keertan
https://keertancloud.bogas04.now.sh/
MIT License
5 stars 0 forks source link

RFC Initial Project #1

Open bogas04 opened 5 years ago

bogas04 commented 5 years ago

Media Content

Possible sources

Copyright & DRM issues

Not all content would be freely available. If you've legal expertise around this area, do help.

Unavailability of public APIs

akj.org for example doesn't have any API, so it would be hard to get their data. We could scrape data or just get it from HTML (ew)?

Technology

Frontend

NextJS + ReactJS Emotion/Styled-Components for styling We might also have a react native app, but I don't know if that much time should be invested first.

Server

If we do require APIs, let's have GraphQL API. This would help us decouple POJOs for our UIs and have multiple clients for same.

Storage

I think we do need a database to store meta data, have quick searches, and an onboarding dashboard (for curators). We can consider hasura like services for this to keep things simple for mere frontend devs :P Media files themselves could stay in S3 (or cloudinary). Free tier should be good enough for prototyping.

Features

Search and play

Public playlist system

Radio system

I want this to be raag based. It should use the user's timezone to find correct Raag and play shabads for that time.

Live stream integrations

Darbar sahib streaming

Onboarding dashboard

This should be a simple form that allows user to simply add a link to supported source types and it starts appearing in our listing. Say I add a youtube.com link, we extract the audio and add to DB. We can also ask for meta data like;

ravjot28 commented 5 years ago

We can provide download option similar to other apps (with lyrics )

ekas commented 5 years ago

Some more extended features could be:

bogas04 commented 5 years ago

DB design https://dbdiagram.io/d/5d36bfb2ced98361d6dcea02 I've come up with so far. GraphQL server by hasura: https://dbdiagram.io/d/5d36bfb2ced98361d6dcea02