create account

GUC Desktop: Notes taking app for creating development updates seamlessly by drsensor

View this thread on: hive.blogpeakd.comecency.com
· @drsensor ·
$220.37
GUC Desktop: Notes taking app for creating development updates seamlessly
#### Repository
https://github.com/g-u-c/guc-desktop

*This is a following post for [utopian hackathon][]*

#### About
GUC-Desktop is a notes taking app which store your notes as a [Git Objects][] using [git notes][]. Later on the user can combine those notes and post it to Steem, especially for creating a post in the development or tutorials category in @utopian-io. For more info, you can read this [post][guc intro] created by @nothingismagick. 

#### Story
In short we actually plan to to build a CLI app but somehow we decide to create a desktop app because there is no way to force Golang devs to install node.js (that's why this https://github.com/g-u-c/cli exist 😆). The technology stack we use is [Quasar Framework][] with the option to build it as an electron app. Currently we don't have test script yet (because [issue#20][]) but we plan to use [Jest][] for our test framework of choice. This post is more like the development log that I do during the hackathon since I found many strange things happen to me 😂. 

##### [PR#6](https://github.com/g-u-c/guc-desktop/pull/6)
In this PR, I start to create a button to add, remove, and show notes stored as Git Object. The button are base on [QBtn][] so that all props in [QBtn][] is compatible and it feel naturall when used in quasar-framework environment. I also solve the [build issue](https://github.com/g-u-c/guc-desktop/issues/2) in my machine by [removing yarn requirement in engines section](https://github.com/g-u-c/guc-desktop/pull/6/files#diff-b9cfc7f2cdf78a7f4b91a753d10865a2) (quite strange, probably because I use [fish shell](https://fishshell.com/))

##### [PR#12](https://github.com/g-u-c/guc-desktop/pull/12)
This is the PR when I try to move post to Steem button into sperate component to make it easier to maintain. This is also where I found something strange in one of dsteem dependency for decoding the key ([issue#14][]). I also add buttons to push and fetch notes from git remote repo (e.g Github, Gitlab, etc) and dsteem client instance <sup>[[7504fb1](https://github.com/g-u-c/guc-desktop/pull/12/commits/7504fb128624d59d7c424799805c97139af0e38e#diff-dbb6da2b75975ce0a1e04bdea998a6ae)]</sup> for posting the notes into https://testnet.steem.vc.

##### [PR#15](https://github.com/g-u-c/guc-desktop/pull/15)
This is where I began to integrate all dedicated button into the main dashboard (and you can see how bad my design skill is 😂). I also add small indicator which commit-id the user want to add the notes. In the future that indicator will act as a button to select which commit-id that you want to add the notes (plus `git checkout` if possible).

<center><img src="https://ipfs.busy.org/ipfs/QmTqPsudNMbWpYpqEY9nkYBF2qxpJWG6Y8tN3JpUD42S4P"><sup>Left: original post-to-steem by @nothingismagick. Right: bunch of button that I added in this PR</sup></center>

Because of the [issue#14][] and since using `PrivateKey.fromLogin` doesn't give me an error, I decide to make workaround by using password instead of posting key. However, the user can still use posting key in case it works in their machine.

<center><img src="https://media.discordapp.net/attachments/489016448401014794/492513292925927424/unknown.png?width=1440&height=139"><sup>error when executing `PrivateKey.fromString`</sup></center>

<center><img src="https://user-images.githubusercontent.com/4953069/45891490-eadd3880-bdef-11e8-8f66-e0f230dced8e.gif"><sup>one of my strategy for user to experiment something that are still buggy</sup></center>

##### [PR#19](https://github.com/g-u-c/guc-desktop/pull/19)
This is the final PR when I creating this [video](https://youtu.be/BsXfw-nluDE). In this PR I remove `--max_old_space_size` because I do hot-reload (while spawning electron instance) many times when in development and it really exhaust my RAM 😂. I also make fetch-notes button to *force-pull* all notes instead of fast-forward *fetch* to avoid merge conflict. Remember, the notes is just a Git Objects so it's possible to have merge conflict like we have in regular commit.

#### Parting words
Currently I'm working on a [library](https://github.com/DrSensor/fluent-git) to make using git easier yet powerfull in JS/TS environment. It also serve as a playground for me to experiment some combination of git command. Thanks to @utopian-io for bringing this hackathon events, it give me a lot of opportunity and reasons to learn about Steem API. Also thanks to the team that developing GUC in the short amount of time during the hackathon, including people and aftermath contributors that excited with this project.

[issue#14]: https://github.com/g-u-c/guc-desktop/issues/14
[QBtn]: https://quasar-framework.org/components/button.html
[Jest]: https://jestjs.io/
[issue#20]: https://github.com/g-u-c/guc-desktop/issues/20
[Quasar Framework]: https://quasar-framework.org/
[git notes]: https://git-scm.com/docs/git-notes
[Git Objects]: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
[guc intro]: https://steemit.com/utopian-io/@nothingismagick/git-utopian-contributor
[utopian hackathon]: https://steemit.com/utopian-io/@utopian-io/utopian-weekly-the-utopian-hackathon-winners

#### GitHub Account
https://github.com/DrSensor
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authordrsensor
permlinkguc-desktop-notes-taking-app-for-creating-development-updates-seamlessly-1538373918176
categoryutopian-io
json_metadata{"app":"steeditor/0.1.2","format":"markdown","image":[],"tags":["utopian-io","development","hackathon","quasarframework","electron"],"users":["utopian-io","nothingismagick"],"links":["https://github.com/g-u-c/guc-desktop","https://github.com/g-u-c/cli","https://github.com/g-u-c/guc-desktop/pull/6","https://github.com/g-u-c/guc-desktop/issues/2","https://github.com/g-u-c/guc-desktop/pull/6/files#diff-b9cfc7f2cdf78a7f4b91a753d10865a2","https://fishshell.com/","https://github.com/g-u-c/guc-desktop/pull/12","https://github.com/g-u-c/guc-desktop/pull/12/commits/7504fb128624d59d7c424799805c97139af0e38e#diff-dbb6da2b75975ce0a1e04bdea998a6ae","https://testnet.steem.vc.","https://github.com/g-u-c/guc-desktop/pull/15","https://ipfs.busy.org/ipfs/QmTqPsudNMbWpYpqEY9nkYBF2qxpJWG6Y8tN3JpUD42S4P","https://media.discordapp.net/attachments/489016448401014794/492513292925927424/unknown.png?width=1440&height=139","https://user-images.githubusercontent.com/4953069/45891490-eadd3880-bdef-11e8-8f66-e0f230dced8e.gif","https://github.com/g-u-c/guc-desktop/pull/19","https://youtu.be/BsXfw-nluDE","https://github.com/DrSensor/fluent-git","https://github.com/g-u-c/guc-desktop/issues/14","https://quasar-framework.org/components/button.html","https://jestjs.io/","https://github.com/g-u-c/guc-desktop/issues/20","https://quasar-framework.org/","https://git-scm.com/docs/git-notes","https://git-scm.com/book/en/v2/Git-Internals-Git-Objects","https://steemit.com/utopian-io/@nothingismagick/git-utopian-contributor","https://steemit.com/utopian-io/@utopian-io/utopian-weekly-the-utopian-hackathon-winners","https://github.com/DrSensor"]}
created2018-10-01 06:05:21
last_update2018-10-01 06:05:21
depth0
children3
last_payout2018-10-08 06:05:21
cashout_time1969-12-31 23:59:59
total_payout_value163.570 HBD
curator_payout_value56.799 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length5,196
author_reputation17,679,210,755,117
root_title"GUC Desktop: Notes taking app for creating development updates seamlessly"
beneficiaries
0.
accountutopian.pay
weight500
max_accepted_payout100,000.000 HBD
percent_hbd10,000
post_id72,393,440
net_rshares115,618,466,658,002
author_curate_reward""
vote details (61)
@amosbastian ·
It's really cool what you guys managed to do in such a short time, huge props!
👍  ,
properties (23)
authoramosbastian
permlinkre-drsensor-guc-desktop-notes-taking-app-for-creating-development-updates-seamlessly-1538373918176-20181002t215153903z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"app":"steemit/0.1"}
created2018-10-02 21:51:54
last_update2018-10-02 21:51:54
depth1
children0
last_payout2018-10-09 21:51:54
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_length78
author_reputation174,473,586,900,705
root_title"GUC Desktop: Notes taking app for creating development updates seamlessly"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id72,506,076
net_rshares5,679,284,279
author_curate_reward""
vote details (2)
@steem-ua ·
#### Hi @drsensor!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your **UA** account score is currently 1.741 which ranks you at **#29871** across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 477 contributions, your post is ranked at **#398**.
##### Evaluation of your UA score:

* Only a few people are following you, try to convince more people with good work.
* The readers like your work!
* Try to work on user engagement: the more people that interact with you via the comments, the higher your UA score!


**Feel free to join our [@steem-ua Discord server](https://discord.gg/KpBNYGz)**
properties (22)
authorsteem-ua
permlinkre-guc-desktop-notes-taking-app-for-creating-development-updates-seamlessly-1538373918176-20181001t191406z
categoryutopian-io
json_metadata"{"app": "beem/0.20.5"}"
created2018-10-01 19:14:06
last_update2018-10-01 19:14:06
depth1
children0
last_payout2018-10-08 19:14:06
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_length730
author_reputation23,214,230,978,060
root_title"GUC Desktop: Notes taking app for creating development updates seamlessly"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id72,432,616
net_rshares0
@utopian-io ·
$0.02
Congratulations for winning the second position of the first [Utopian Hackathon](https://www.meetup.com/utopian_io/events/253592458). You won a 150 STEEM prize plus a dedicated Quasar prize of 200 STEEM offered by Utopian and a 80% upvote.
👍  ,
properties (23)
authorutopian-io
permlinkre-drsensor-guc-desktop-notes-taking-app-for-creating-development-updates-seamlessly-1538373918176-20181002t202411684z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"links":["https://www.meetup.com/utopian_io/events/253592458"],"app":"steemit/0.1"}
created2018-10-02 20:24:12
last_update2018-10-02 20:24:12
depth1
children0
last_payout2018-10-09 20:24:12
cashout_time1969-12-31 23:59:59
total_payout_value0.019 HBD
curator_payout_value0.005 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length239
author_reputation152,955,367,999,756
root_title"GUC Desktop: Notes taking app for creating development updates seamlessly"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id72,502,353
net_rshares13,436,744,711
author_curate_reward""
vote details (2)