on master help sign in
Merge pull request #1811 from urbit/thelifeandtimes-gora-apprentice

Create gora-apprentice.md

commitdf729c8606a7c463fbbb9e6e2236f0ca81c1dfbe authormikeosborne <mike@urbit.org> dateSun 25 Sep 2022, 09:40 (4 years ago) parentcc085b30687062
1 file changed+59
content/grants/gora-apprentice.md+59
content/grants/gora-apprentice.mdnew file+59
@@ -0,0 +1,59 @@
1++++
2+title = "Gora: QR Edition"
3+date = "2022-09-25"
4+
5+[taxonomies]
6+grant_type = [ "Apprenticeship" ]
7+grant_category = [ "App Dev"]
8+
9+[extra]
10+image = ""
11+description = "Extend Gora with QR-code generation and scanning for sending and recieving gorae"
12+reward = "1 star"
13+mentor = ["~rabsef-bicrym"]
14+assignee = [""]
15+grant_id = "A0192"
16+completed = false
17+canceled = false
18+work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=A0192&prefill_Grant+Name=Gora%20Apprenticeship"
19++++
20+
21+# Gora QR Edition - Updating Urbit's Premier Sticker Software
22+
23+The Gora QR Edition Apprenticeship is a userspace application apprenticeship focused on experiential learning in Earth-to-Mars communication (web interfacing) using [sail](https://developers.urbit.org/guides/additional/sail) (urbit's XML markdown language) and [rudder](https://github.com/Fang-/suite/blob/master/lib/rudder.hoon) (urbit's leading library for raw http-request handling), as well as airlock through the [urbit/http-api npm library](https://www.npmjs.com/package/@urbit/http-api).
24+
25+## Apprentice Expectations
26+Apprentice is familiar with Urbit and Gora. Apprentice has some familiarity with hoon, and ideally has a functional understanding of gall applications. Apprentices with an understanding of encoding data in QR codes preferred.
27+
28+## Team
29+
30+The Gora QR Edition apprentice will work with the Quartus Team and ~rabsef-bicrym (Gora's creator) directly. The apprentice and Quartus team will participate in an initial "kick-off" call to talk through the user stories and the expected implementation, and will proceed with weekly or biweekly (at the apprentice's preference or need) meetings with ~rabsef-bicrym thereafter.
31+
32+## Deliverable
33+
34+Production-ready pull request to the [gora repo](https://github.com/dalten-collective/gora) and [vue-front-end repo](https://github.com/dalten-collective/gora-frontend) updating both Vue and Sail versions to allow for QR-code generation and scanning to give/receive a gora, as described in the user stories, below.
35+
36+## User Stories
37+
38+* As a Gora Issuer (host)
39+ * For Gorae that I host, which are either stakable or standard, which (if standard) are not at or beyond their max # of hodlers, I am able to:
40+ * Generate a one-time-use QR code in the application which, when scanned by another gora user, would request the gora for which I have generated the code;
41+ * Receive pokes from external ships who have scanned that QR code, containing the information of the QR code;
42+ * Decipher and validate the incoming, poked, QR code information;
43+ * and, where appropriate, provide the gora to the ship requesting it via the QR code.
44+ * I am able to complete these behaviors in both the Vue and Sail implementations of Gora.
45+* As a Gora Requester (hodler)
46+ * In my gora application, I can request a gora by scanning a QR code (amongst other methods).
47+ * When I scan a QR code, I automatically poke the host ship of the gora who's code I have scanned, with the information of the QR code for validation.
48+ * I am able to complete these behaviors in both the Vue and Sail implementations of Gora.
49+
50+## Implementation Notes
51+
52+We are amenable to suggestions of strategies from our apprentice as to the nature of the implementation of this feature, particularly in the Front-End presentation. We have a suggestion for the general implementation details on the backend, but are nonetheless open to input:
53+
54+- Gora will get a state upgrade to include a `(jug gora-id nonce)`
55+- Each time a QR code is generated, a nonce will be randomly generated, checked to be unique against the `(set nonce)
56+
57+## Schedule & Compensation
58+
59+The Gora QR Edition apprenticeship should take no longer than 3 months, but is likely executable within a month. The apprentice will recieve 1 star upon successful completion of the apprenticeship.