As promised, here is the first round of tasks for you, utopians, to complete.
I'm only opening 3 tasks for now because this is a first and I need to see if my workflow for managing such contributions is sustainable.
My advice is that you should only work with us if you intend to do more than one task. Setting up the whole project takes a bit of time and a task takes between half a day to a few days of work depending on your skills.
Now let's get to business.
Remember that at all time your can check the public project page and pick a task that is in the TODO column.
Every task will contain:
- Acceptance criteria that must be fulfilled for the PR to accepted and merged
- A partial screenshot of the design, it's not 100% accurate and the design used with the Quasar framework prevail
- A partial UML diagram containing the attributes
I'm going to provide you with a bit of context so that you can understand what is asked.
Projects module: 1 task
- Refuse external contributions : difficulty 2 / 5
A project that is created in utopian can received contributions from anyone by default. However, this behavior might not be suitable for everyone. That's why we offer the possibility for project owners to refuse contributions and only accept the one coming from a white list. The white list is another task as you've already guessed.
Articles module: 2 tasks
Pro Review Toggle : difficulty 2 / 5
A user can request a Pro Review. This setting will enable a tab for reviewers to score the article. It will then enter the voting bot queue and, depending on the score, will get an upvote. This is the current well known behavior of the utopian: a score and then may be an upvote. Read this article for more details about the voting bot.
Article language : difficulty 3 / 5
This is a simple dropdown list to set the language of the article. The list must be populated from the database.
What is expected
Even though those tasks are "just" about adding a field, there are a few things that must be done and that you need to verify:
- You need to develop the UI (client package) and the API (api package)
- You need to provide the integration tests for the API. The UI is not wired for tests yet, but it will come.
- You need to be sure that what you developed is responsive, not just checking on the phone but also when you manually resize the browser. Here is a hint, use the quasar breakpoints and col-* classes.
- You need to verify your work on at least Chrome and Firefox. If you can also check multiple OS it's even better.
You're not alone
We are, the dev core team, here to help you develop your tasks in the best possible conditions so that your contributions get rewarded by an upvote later.
@nothingismagick @icaro and I will be available in a dedicated discord channel.
Use the articles module in the client and api package as a reference.
Best of luck to you and remember to check the tutorial to help you configure and run the project.