Skip to content

Contrib module- to be or not to be? #29

@bps-github7

Description

@bps-github7

Since adopting the architecture where IVDB is split into various feature modules, the decision of whether to keep the "contribute" feature in its own module has been historically fraught with peril. The reasoning behind this is simple: contributions are made by users and relevant to pieces of content. Both users and content have their own modules. I believe that the material required to make a fully fleshed out module for contributions would be lacking when compared to the other areas/modules that make up the site.

Instead of creating a whole module which users can use to administer their contributions, I suggest we create components within both the user and content modules, so that a user can view respectively, the total contributions made by a particular user, including their self user/contrib && user/contrib/own, and in the content module, the total contributions regarding a piece of content content/:uid/contrib.

Then, all other components which facilitate contribution will be stored in a sub folder of the shared module: src/app/modules/shared/contrib. By being included here, these helper contribution components will be made available in any feature module in the site.

routable components that must be made, in the user and content modules:

user module

  • user/contrib a portal for instructions on how to contribute, links to start contributing

  • user/contrib/all view all site contributions, apply filter, order

  • user/contrib/user=[:uid || :username] Filtering to see all contributions by a paticular user

  • user/contrib/own see all contributions made by the currently signed in user

content module

  • content/:uid/contrib View all contributions associated with a piece of content
  • content/:uid/start Learn how to contribute to the current piece of content (maybe unnesc.)

shared/contrib sub directory

  • suggest new - form for logged in users to suggest modifications to the site- suggest new game, add or modify game info, forums, content, etc
  • rate component - two modes: view or provide- in view, users can toggle between the average rating, and the rating they provided, assuming they provided one. in provide, logged in users can provide 1-5 star rating for each game they choose to rate
  • review component - users can provide qualitative reviews on games
  • comment section - attach to games and content, logged in users can comment on a game or official content such as news, streams, watchlists, (official) reviews and group-home-pages.
  • reaction bar - users can upvote, downvote, favorite, share or react with emojis to games and pieces of contents, when this reaction bar is made available.
  • as an alternative to comment section and reaction bar, combine the two into 'content-feedback' component for easier administration

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions