ULOG #14: Contributing to Utopian V2 - Allowing External Contributions

in ulog •  6 years ago 

utopian_updates_color.jpg

As announced in SF3, Utopian team will be releasing Utopian v2 on April 2019 just after the planned release of SMTs. This contribution is but a tiny drop in an ocean of contributions.

Repository

https://github.com/utopian-io/v2.utopian.io

Task Request

https://steemit.com/utopian-io/@gregory.latinier/utopian-v2-task-project-module

Pull Request

Add the Allow External Contributions toggle to the project form

Feature Image

image.png

Lessons Learned

There were a couple of issues I encountered when I started my development. First, as you may have guessed it, was setting up my development environment. I vented out this frustration to @gregory.latinier and he was gracious enough to listen and helped me resolve the issues. Eventually, some of the errors I encountered were caused by the values I set in my .env.

The second was my unfamiliarity with screen layouts. I had three attempts related to this with the last one eventually being accepted.

My first attempt was a combination of a q-field and a q-toggle under it. This worked but Gregory suggested to move the label to the right of the toggle instead of above it. I did this but I didn't like the excess space it created so I went with a q-list which was my second attempt. Gregory didn't like how the q-list looked so we ended up using q-toggle's label property.

I guess what I want to emphasize here is - UI is something that changes often that it's often beautified later. That's the direction Gregory wants and is something I agree to as well.

Technical Explanation of the Contribution

And now the boring stuff...

https://github.com/utopian-io/v2.utopian.io/pull/156/files

These were the main files updated for this contribution.

1) Client Module
  1. /packages/client/src/pages/projects/create-edit/create-edit.vue
    • the project form; added the allowExternals field, some styling, and some code clean-up for errors spat out by greenkeeper
2) API Module
  1. /packages/api/modules/projects/handlers.js
    • added allowExternals to mongoose select for it to be included in the response payload
  2. /packages/api/modules/projects/project.model.js
    • added the allowExternals field to the project model
  3. /packages/api/modules/projects/validate.js
    • added validation to require callers to include allowExternals when submitting new projects (createProject) or updating (updateProject) them
2.1) Unit Tests
  1. /packages/api/test/fixtures/projects.js
  2. /packages/api/test/modules/projects/projects.handlers.spec.js
    • added two test cases to check for projects that had this flag set to true (accepts external contributions) or false
3) i18n Module
  1. /packages/i18n/locales_master/de.json
  2. /packages/i18n/locales_master/en.json
    • added the allowExternals.label string

GitHub Account

https://github.com/eastmaels

This post was made from https://ulogs.org

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you for this first contribution!
You've battle tested the process to manage external developers and thanks for that too!

The added feature is just a small field but the aim behind this is to make you comfortable and more efficient for the next tasks.

The lack of communication around the mockup was a mistake. We'll try to improve this too.

Anyway great work for following the code structure.

See you on the profile module I hope :p

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thank you Gregory. I know it's the first/start that's one of the hardest because it traverses the process. Looking forward to the next batch of tasks. Will pick one of the profile tasks. Thanks for the lead.

Thank you for your review, @gregory.latinier! Keep up the good work!

Very cool to see you helping out with the development of Utopian related stuff once again, @eastmael!

Thanks Amos. I was waiting for this timing as well. Thanks for the support!

Keep contributing your best for the community your effort makes steemit great :)

Thanks blazing. Each one of us has part in the Steem community. This is just my small part. Thanks for dropping by.

Hey, @eastmael!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Greetings from Ambr Global! Upvoted and resteemed!