vocascan / vocascan-frontend

A highly configurable vocabulary trainer
https://vocascan.com
Apache License 2.0
30 stars 8 forks source link

Marketplace to Publish and Download Packages of Vocabularies #109

Open engahmadkadi opened 2 years ago

engahmadkadi commented 2 years ago

As a user of Vocascan, I would like to have the possibility to publish the packages of vocabularies I've created to something like a marketplace where other users could benefit from it. This could be published and users download it for free, or pay small amount of money? To encourage publishing more lists?

This would make sense for both the official website, as well as for locally hosted versions, within a team or company

Ideally, there could be a versioning mechanism. So updates could be possible, without breaking the past versions.

I'm open to hear opinions about the idea, or wether has been work already in this directions.

Regards, Ahmad

luwol03 commented 2 years ago

Hey engahmadkadi,

we already have a kind of marketplace in our minds. We talked about it internally just yesterday and have come to the result that we first need to implement a few other things to create a nice and secure marketplace for handcrafted vocabulary packs. Here are just a few of the things that have to be implemented first:

If you have more ideas, feel free to comment.

luwol03

Tracer1337 commented 2 years ago

I don't see where we need a full permission + role system here. Only the creator of a package can edit it, but everyone who is invited / has imported the package can view it, therefore simple if user.id === package.ownerId checks are sufficient. We can talk about this feature in Discord, I want to implement it then.

Hey engahmadkadi,

we already have a kind of marketplace in our minds. We talked about it internally just yesterday and have come to the result that we first need to implement a few other things to create a nice and secure marketplace for handcrafted vocabulary packs. Here are just a few of the things that have to be implemented first:

  • permission system with roles
  • custom language implementation
  • extract progress to separate table
  • add the basic structure for different types of cards
  • linked packages (a new kind of import that will link a package shared by others, of course there should be a permissions system to say who can edit the package and who can only learn the package)

If you have more ideas, feel free to comment.

luwol03

luwol03 commented 2 years ago

The thing is, if you host some kind marketplace you also need some kind of verification for allowed users who can publish content and also an report system if something is against the legal rights. And therefore we need at least the following permission levels:

But I think some kind of hard roles is not a good idea. I'm more for adding somekind of permissions which can be assigned to roles and roles can be assigned to users.

An other thing which might be relevant in the future is to give someone else access to edit your package.