Replies: 4 comments 1 reply
-
I like this idea. From an API point of view, the best way would be to implement it in the following way - just extend the project list method so that it would work in the following way: List method with no search parameters - would return all projects a user can see, with the default page limitation right now it is 30. Than filter paramteters like fetatured=true, artist=artist_id, tags=80s,soud_effect can be added, any future feature requerments can define parameters. The last set of parameters could be sorted like sort=date,artist_name Then the API list method can be used by different pages - like /featured /examples or personal page of an artist. |
Beta Was this translation helpful? Give feedback.
-
We just have to be careful here because before making project public, I ask users for consent to share their projects under the CC0 license, and the nice thing about not saving non-public projects on the servers is that we are not responsible for data leaks.
That's a good idea. We can definitely add extra parameters to the list function and allow sorting 👌 In the short term, I think being able to have a featured section/page will add a lot of value in terms of being able to promote the project effectively and attract/retain new users, show people what is possible with NoiseCraft. |
Beta Was this translation helpful? Give feedback.
-
I see your point. It might be a good idea to call all projects public, but some could have listed status. For the project data to be more secure, project records could use UUID as their Primary Key - it would prevent bad users from finding all projects by changing the project id param on a share page. |
Beta Was this translation helpful? Give feedback.
-
@victorKochkarev how do you think we should go about implementing admin/moderator status? I was thinking we could add a new column to the users table called |
Beta Was this translation helpful? Give feedback.
-
I think it could help NoiseCraft to have a featured projects section where we showcase a hand-picked selection of some of the best, most interesting sounding projects. This is useful because when new users come to the app, they can immediately see some of the best projects, and hopefully be inspired by them. Otherwise, the latest shared projects vary in quality a lot, from great to incomplete, and what someone sees when going to the browse page is going to be a matter of luck.
I had implemented something like this in Zupiter (an older version of NoiseCraft), see the browse page here (https://z.musictools.live/). However, the Zupiter featured section is a total hack, it's just manually generated HTML, and I'd like to do a better job this time, have something we can edit from the user interface.
This ties into something else, which is that we'll probably want to have admin and possibly moderator users. We might want to have different access levels that we add in the users table. Admin users would have the ability to edit the list of featured projects, which could be as simple as an ordered list of project ids.
I would like the top-10 or top-15 of the featured projects to show up at the top of the
/browse
page. However, we may also want to have a/featured
page that is directly linkable, or an option to show more/all of the featured project, e.g./browse?featured=all
. This can be used to promote NoiseCraft and show our favorite projects.Beta Was this translation helpful? Give feedback.
All reactions