riffcc / ceramic-riff-web Goto Github PK
View Code? Open in Web Editor NEWRiff.CC, implemented using ComposeDB and Ceramic.
Home Page: https://ceramic-riff-web.vercel.app
Riff.CC, implemented using ComposeDB and Ceramic.
Home Page: https://ceramic-riff-web.vercel.app
All content on the site should appear in the admin panel for review/moderation, including content that comes from sites we've subscribed to.
We should store the "difference" between our copy of of a piece of content and the content as it appears on the original site.
Users should be able to vote content up, both as a general like/dislike on the content, as well as an individual vote for each genre/tag associated with it.
Admins should be able to promote a piece of content to Featured and feature it from a certain date until a certain date (or feature it "forever").
There should be a panel in the admin panel which shows content that has a lot of votes relative to the other content, and allows admins to see what the voting suggests they should feature (ie: they can see what's popular and make it featured content)
Users should be able to choose to see what they see as a "feed" on their front page.
There should be an option in settings something like this:
Settings
When a user clicks My Feed, they should be taken to a page like this:
"You can choose what to see when you visit . Add, remove and reorder the categories you wish to see:"
Feed:
☰ Movies ❌
☰ Music ❌
☰ TV ❌
➕ Add more
Then when a user visits the front page, they should see featured content in those categories first:
Movies
Music
TV
Then an "all" version of those categories:
All Movies
All Music
All TV
When a user clicks the thumbnail of a Music pin, it should:
The CID for the Music pin should always be a folder containing music, in which there will be tracks numbered 01 to 99 (or 000 to 999 etc in the case of extremely long albums or albums with tons of tracks).
They will have names like
01 - Song 66.flac
02 - Esmerelda.flac
Upon loading the page, we should fetch and display the list of tracks and their names, as well as the album art. There should also be a link to the artist's page, where we can see all the albums associated with them. We should start playing from Track 01 and offer standard audio player controls.
Subissues:
Right now the list of admins doesn't show you whether or not they were added as a super admin or not. There should be maybe a little S symbol or something, maybe this emoji 🇸 if the user is a super admin
Should be able to proceed without providing a rejection reason by just clicking through
Clicking the name of a piece of content should take you to the Details page for it.
The Details page is a page displaying the content and anything we know about it (basically, anything the user filled out in the Advanced Upload Form), and displaying a preview or player for it as best we can.
Here's an example of a details page for music:
https://user-images.githubusercontent.com/1369772/211534014-5dbf7f86-43a7-42e5-84c9-5be582f2edb6.png
We should have the ability to create arbitrary site subscriptions.
Much like the Admins section of the admin panel, we would like to be able to add any SiteID as a subscription.
Additionally, we should be able to show two independent sites:
They should be running the same software, but on different computers (on different continents), with different SiteIDs. We should be able to demonstrate the following
We need to check that when a user uploads a CID through the upload form that it's a valid CID according to the CIDv0 or CIDv1 specs. If it is not, a message should be displayed gently reminding the user that they should be entering a CID.
Something like "Please enter a valid CIDv0 or CIDv1 ID."
We will need the ability to add, edit and update categories of content.
For now, we will have the following categories:
A user should be made to select a category when uploading a Pin.
As a sidenote - Name, CID and Category will be the only required fields for uploads, all other fields should be optional.
We will need a way for users to be able to upload files to IPFS without needing the IPFS software installed.
One potential option is to build a small proxy that can receive uploads from users on the Origin Site and forward them to Estuary.tech. An Estuary API key would be stored on the webserver, and it would act as a go-between for users uploading to Estuary. It would tag all uploads with the Ethereum public address of the user who uploaded a piece of content, so that we could map who uploaded what.
We should offer site admins the ability to change the name, logo and main colour of their site. This should apply for all users.
Additionally, users should be able to set their own favourite colour which overrides the colour chosen by the site.
We should have a paging system that allows you to select how many items you want to see per page
"Items per page: dropdown" (values 10, 50, 100, 250)
Then when you're viewing the list of pins, if there's more than 10 and you have set 10 items per page, pages appear like this
Page 1 [2] [3] [4] [5] where 2-5 are buttons you can click to go to those pages.
When viewing content in the My Pins section of the application, as well as the Admin section (under Content), there should be a table like this, where
Thumbnail | Name | Category | CID | Action buttons |
---|---|---|---|---|
http://cf-ipfs.com/ipfs/QmbRFnyo7Hdi5ApjHaUvoS8v77WghukPLcTTxPSAi9fjTq | Adam McHeffey - Let's Kick Fire | Music | QmRdke...p7VeT | [Approve][Reject][Edit][Delete] |
http://illegal-art.net/girltalk/images/nightripper.jpg | Girl Talk - Night Ripper | Music | QmdKML...5hcAV | [Approve][Reject][Edit][Delete] |
https://pbs.twimg.com/profile_images/461942001596772353/fH8p0SGX_400x400.jpeg | The Internet's Own Boy: The Story of Aaron Swartz | Movies | QmEXAA...AMPLE | [Approve][Reject][Edit][Delete] |
The table should be styled as such:
We should allow the user to click through the track and change where they are in the track that's playing.
I would like if if we had a movie player that looked like this:
Icons are from font-awesome
Color of the slider is #5558DD for the bits already played, #343434 for the bits yet to play. It's important it's exactly these colours for now :)
When you hover over a movie, it should show a play icon
When you click it it should take you to this player and play the movie
When you move the mouse, it should bring up the player controls as seen in this screenshot, otherwise it should hide them (after a few seconds) so you can watch the movie uninterrupted
We should display the name of a track based on the ID3/FLAC tags on a file. We may need to figure out a better way to retrieve these than simply loading the first part of each track, however.
Once an item is rejected, it should be possible to un-reject or approve it. There should be an appropriate button for un-rejecting the release (something neutral? not sure what the icon should be), and a standard Approve button (as well as the current Delete button).
We should make a more advanced upload form.
Most fields should be optional, and they should all be stored in a way that is extensible over time - ie: we should be able to add new fields to this list without wiping an Origin Site)
(or https://docs.google.com/forms/d/e/1FAIpQLSdOQl7ZFOGd0z5sZwI3xsUOcGDZCyiAuAY7v_uhYxWeougH1A/viewform for a public view)
Right now only music and movies is defined on the form. I tried to make it roughly match trackers like Gazelle.
This issue should be partially implemented at first, making a form for Music and Movies. When you select a category other than Music or Movies, it should say "Coming soon..." instead.
When you fill in a MusicBrainz, TMDB or IMDB ID in the form, we should fetch the appropriate data from that service and fill in the rest of the form with the data we find.
We need the ability to unsubscribe from a site.
We should be able to edit pins, changing the name, category and CID of them as needed. Later, we'll add more fields to edit.
Quick and easy one - change the label for "Pinner" to "Upload" instead.
We should be able to remove admins from the list of admins. This could be a simple "remove" button. The admin specified in the original site config should not be removable for now.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.