create account

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

View this thread on: hive.blogpeakd.comecency.com
· @eastmael ·
$28.83
ULOG #14: Contributing to Utopian V2 - Allowing External Contributions
![utopian_updates_color.jpg](https://ipfs.busy.org/ipfs/QmPRspF7Y56JZrQUjDZQWiJWPPJCGux4m4gctjFmgHRB97)

As [announced](https://steemit.com/utopian-io/@utopian-io/utopian-presentation-steemfest-roadmap-inside) in SF3, Utopian team will be releasing Utopian v2 on April 2019 just after the planned [release of SMTs](https://steemit.com/steem/@steemitblog/smts-release-dates). 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](https://github.com/utopian-io/v2.utopian.io/pull/156)

#### Feature Image

![image.png](https://ipfs.busy.org/ipfs/Qmf2H1SnywoJKedfUiSXy5eJtWmDt4A3xZPaRzM6AdBXby)

#### 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`](https://github.com/utopian-io/v2.utopian.io/pull/156/files#diff-13bf315ca286484186b6acdbb41d94c2)
    * the project form; added the `allowExternals` field, some styling, and some code clean-up for errors spat out by [greenkeeper](https://greenkeeper.io/) 

##### 2) API Module

1. [`/packages/api/modules/projects/handlers.js`](https://github.com/utopian-io/v2.utopian.io/pull/156/files#diff-b2da502f567efa23ae6998beab999a05)
    * added `allowExternals` to mongoose `select` for it to be included in the response payload
2. [`/packages/api/modules/projects/project.model.js`](https://github.com/utopian-io/v2.utopian.io/pull/156/files#diff-209456d56a9aa097a1a7ecace73bc956)
    * added the `allowExternals` field to the project model
3. [`/packages/api/modules/projects/validate.js`](https://github.com/utopian-io/v2.utopian.io/pull/156/files#diff-43fdcfc0e5a724527bec6caf043fa506)
    * 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`](https://github.com/utopian-io/v2.utopian.io/pull/156/files#diff-a12598dee49dd0bd34672ecefaf8a509)
2. [`/packages/api/test/modules/projects/projects.handlers.spec.js`](https://github.com/utopian-io/v2.utopian.io/pull/156/files#diff-cb3468607502b4dda9791aa292f81aed)
    * 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`](https://github.com/utopian-io/v2.utopian.io/pull/156/files#diff-9ebd9aca7be9d5903e464ab343bc0932)
2. [`/packages/i18n/locales_master/en.json`](https://github.com/utopian-io/v2.utopian.io/pull/156/files#diff-0d6c63c97dfee46e060dd990ad73488f)
    * added the `allowExternals.label` string

#### GitHub Account

https://github.com/eastmaels<br/><div class="pull-right promo"><sub><p>This post was made from https://ulogs.org</p></sub></div>
πŸ‘  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 496 others
properties (23)
authoreastmael
permlinkulog-14-contributing-to-utopian-v2-allowing-external-contributions
categoryulog
json_metadata{"community":"ulogs","app":"ulogs/1.0.0","format":"markdown","tags":["ulog","surpassinggoogle","ulog-utopian","utopian-io","development"],"users":["utopian-io","steemitblog","gregory.latinier"],"links":["https://steemit.com/utopian-io/@utopian-io/utopian-presentation-steemfest-roadmap-inside","https://steemit.com/steem/@steemitblog/smts-release-dates","https://github.com/utopian-io/v2.utopian.io","https://steemit.com/utopian-io/@gregory.latinier/utopian-v2-task-project-module","https://github.com/utopian-io/v2.utopian.io/pull/156","/@gregory.latinier","https://github.com/utopian-io/v2.utopian.io/pull/156/files","https://github.com/utopian-io/v2.utopian.io/pull/156/files#diff-13bf315ca286484186b6acdbb41d94c2","https://greenkeeper.io/","https://github.com/utopian-io/v2.utopian.io/pull/156/files#diff-b2da502f567efa23ae6998beab999a05"],"image":["https://ipfs.busy.org/ipfs/QmPRspF7Y56JZrQUjDZQWiJWPPJCGux4m4gctjFmgHRB97","https://ipfs.busy.org/ipfs/Qmf2H1SnywoJKedfUiSXy5eJtWmDt4A3xZPaRzM6AdBXby"]}
created2018-11-20 12:07:03
last_update2018-11-20 12:07:03
depth0
children9
last_payout2018-11-27 12:07:03
cashout_time1969-12-31 23:59:59
total_payout_value21.919 HBD
curator_payout_value6.915 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length4,239
author_reputation78,967,407,130,763
root_title"ULOG #14: Contributing to Utopian V2 - Allowing External Contributions"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id75,612,442
net_rshares46,262,034,565,263
author_curate_reward""
vote details (560)
@ambr.global ·
Greetings from Ambr Global! Upvoted and resteemed!
properties (22)
authorambr.global
permlinkre-eastmael-ulog-14-contributing-to-utopian-v2-allowing-external-contributions-20181231t094600184z
categoryulog
json_metadata{"tags":["ulog"],"app":"steemit/0.1"}
created2018-12-31 09:45:42
last_update2018-12-31 09:45:42
depth1
children0
last_payout2019-01-07 09:45:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length50
author_reputation736,073,232,791
root_title"ULOG #14: Contributing to Utopian V2 - Allowing External Contributions"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id77,651,816
net_rshares0
@amosbastian ·
$0.52
Very cool to see you helping out with the development of Utopian related stuff once again, @eastmael!
πŸ‘  , , , ,
properties (23)
authoramosbastian
permlinkre-eastmael-ulog-14-contributing-to-utopian-v2-allowing-external-contributions-20181120t123914663z
categoryulog
json_metadata{"tags":["ulog"],"users":["eastmael"],"app":"steemit/0.1"}
created2018-11-20 12:39:15
last_update2018-11-20 12:39:15
depth1
children1
last_payout2018-11-27 12:39:15
cashout_time1969-12-31 23:59:59
total_payout_value0.400 HBD
curator_payout_value0.121 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length101
author_reputation174,473,586,900,705
root_title"ULOG #14: Contributing to Utopian V2 - Allowing External Contributions"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id75,613,713
net_rshares847,656,629,868
author_curate_reward""
vote details (5)
@eastmael ·
$0.50
Thanks Amos. I was waiting for this timing as well. Thanks for the support!
πŸ‘  
properties (23)
authoreastmael
permlinkre-amosbastian-re-eastmael-ulog-14-contributing-to-utopian-v2-allowing-external-contributions-20181120t133809276z
categoryulog
json_metadata{"tags":["ulog"],"app":"steemit/0.1"}
created2018-11-20 13:42:27
last_update2018-11-20 13:42:27
depth2
children0
last_payout2018-11-27 13:42:27
cashout_time1969-12-31 23:59:59
total_payout_value0.376 HBD
curator_payout_value0.125 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length75
author_reputation78,967,407,130,763
root_title"ULOG #14: Contributing to Utopian V2 - Allowing External Contributions"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id75,616,664
net_rshares796,085,537,874
author_curate_reward""
vote details (1)
@blazing ·
Keep contributing your best for the community your effort makes steemit great :)
πŸ‘  
properties (23)
authorblazing
permlinkre-eastmael-ulog-14-contributing-to-utopian-v2-allowing-external-contributions-20181120t131523614z
categoryulog
json_metadata{"tags":["ulog"],"app":"steemit/0.1"}
created2018-11-20 13:15:24
last_update2018-11-20 13:15:24
depth1
children1
last_payout2018-11-27 13:15:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length80
author_reputation117,662,220,860,076
root_title"ULOG #14: Contributing to Utopian V2 - Allowing External Contributions"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd0
post_id75,615,311
net_rshares18,264,995,849
author_curate_reward""
vote details (1)
@eastmael ·
Thanks blazing. Each one of us has part in the Steem community. This is just my small part. Thanks for dropping by.
properties (22)
authoreastmael
permlinkre-blazing-re-eastmael-ulog-14-contributing-to-utopian-v2-allowing-external-contributions-20181120t134111845z
categoryulog
json_metadata{"tags":["ulog"],"app":"steemit/0.1"}
created2018-11-20 13:45:27
last_update2018-11-20 13:45:27
depth2
children0
last_payout2018-11-27 13:45:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length115
author_reputation78,967,407,130,763
root_title"ULOG #14: Contributing to Utopian V2 - Allowing External Contributions"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id75,616,814
net_rshares0
@gregory.latinier ·
$7.49
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](https://join.utopian.io/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](https://review.utopian.io/result/3/1321211).

---- 
Need help? Write a ticket on https://support.utopian.io/. 
Chat with us on [Discord](https://discord.gg/uTyJkNm). 
[[utopian-moderator]](https://join.utopian.io/)
πŸ‘  , , , , , , , , ,
properties (23)
authorgregory.latinier
permlinkre-eastmael-ulog-14-contributing-to-utopian-v2-allowing-external-contributions-20181121t110622531z
categoryulog
json_metadata{"tags":["ulog"],"community":"steempeak","app":"steempeak"}
created2018-11-21 11:06:24
last_update2018-11-21 11:06:24
depth1
children2
last_payout2018-11-28 11:06:24
cashout_time1969-12-31 23:59:59
total_payout_value5.668 HBD
curator_payout_value1.817 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length934
author_reputation34,278,323,818,021
root_title"ULOG #14: Contributing to Utopian V2 - Allowing External Contributions"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id75,668,474
net_rshares12,036,742,981,920
author_curate_reward""
vote details (10)
@eastmael ·
$0.49
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.
πŸ‘  
properties (23)
authoreastmael
permlinkre-gregorylatinier-re-eastmael-ulog-14-contributing-to-utopian-v2-allowing-external-contributions-20181121t143414136z
categoryulog
json_metadata{"tags":["ulog"],"app":"steemit/0.1"}
created2018-11-21 14:34:15
last_update2018-11-21 14:34:15
depth2
children0
last_payout2018-11-28 14:34:15
cashout_time1969-12-31 23:59:59
total_payout_value0.369 HBD
curator_payout_value0.123 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length207
author_reputation78,967,407,130,763
root_title"ULOG #14: Contributing to Utopian V2 - Allowing External Contributions"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id75,678,271
net_rshares787,502,138,398
author_curate_reward""
vote details (1)
@utopian-io ·
Thank you for your review, @gregory.latinier! Keep up the good work!
properties (22)
authorutopian-io
permlinkre-re-eastmael-ulog-14-contributing-to-utopian-v2-allowing-external-contributions-20181121t110622531z-20181124t041613z
categoryulog
json_metadata"{"app": "beem/0.20.9"}"
created2018-11-24 04:16:15
last_update2018-11-24 04:16:15
depth2
children0
last_payout2018-12-01 04:16:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length68
author_reputation152,955,367,999,756
root_title"ULOG #14: Contributing to Utopian V2 - Allowing External Contributions"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id75,817,372
net_rshares0
@utopian-io ·
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](https://chrome.google.com/webstore/detail/steemplus/mjbkjgcplmaneajhcbegoffkedeankaj?hl=en) or [Steeditor](https://steeditor.app)).

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

<a href='https://steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1'>Vote for Utopian Witness!</a>
properties (22)
authorutopian-io
permlinkre-ulog-14-contributing-to-utopian-v2-allowing-external-contributions-20181122t041042z
categoryulog
json_metadata"{"app": "beem/0.20.9"}"
created2018-11-22 04:10:42
last_update2018-11-22 04:10:42
depth1
children0
last_payout2018-11-29 04:10:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length590
author_reputation152,955,367,999,756
root_title"ULOG #14: Contributing to Utopian V2 - Allowing External Contributions"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id75,710,657
net_rshares0