aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorng0 <ng0@n0.is>2019-03-22 13:13:41 +0000
committerng0 <ng0@n0.is>2019-03-22 13:13:41 +0000
commitba99957c5917d5cae9aa6714c66c45ae0133eaf2 (patch)
treeec9f67b1ae63b39bf61a655d5570e7714b0b2b88
parent410de85399595e03e01744667c0365f7817bbc64 (diff)
downloadwww-ba99957c5917d5cae9aa6714c66c45ae0133eaf2.tar.gz
www-ba99957c5917d5cae9aa6714c66c45ae0133eaf2.zip
GSoC 2018 report
-rw-r--r--template/gsoc-2018-gnunet-webui.html.j2117
-rw-r--r--template/gsoc.html.j273
2 files changed, 154 insertions, 36 deletions
diff --git a/template/gsoc-2018-gnunet-webui.html.j2 b/template/gsoc-2018-gnunet-webui.html.j2
new file mode 100644
index 00000000..c96b9965
--- /dev/null
+++ b/template/gsoc-2018-gnunet-webui.html.j2
@@ -0,0 +1,117 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3 <article class="d-flex flex-column p-2 bd-highlight">
4 <div class="container">
5 <div class="text-center">
6 <header>
7 <h1>{{ _("GSoC 2018: GNUnet WebUI") }}</h1>
8 </header>
9 <br />
10 <p>
11 {% trans %}
12 Tue, 08/14/2018 - 07:55, Phil Buschmann
13 {% endtrans %}
14 </p>
15 </div>
16 <p>
17 {% trans %}
18 <strong>What was done?</strong><br />
19 In the context of Google Summer of Code 2018, my mentor
20 (Martin Schanzenbach) and I have worked on creating and
21 extending the REST API of GNUnet. Currently, we mirrored
22 the functionality of following commands:
23 {% endtrans %}
24 </p>
25 <p>
26 gnunet-identity<br />
27 gnunet-namestore<br />
28 gnunet-gns<br />
29 gnunet-peerinfo
30 </p>
31 <p>
32 {% trans %}
33 Additionally, we developed a website with the Javascript
34 framework Angular 6 and the design framework iotaCSS to use
35 the new REST API. The REST API of GNUnet is now documented
36 with Sphinx.
37 {% endtrans %}
38 </p>
39 <p>
40 {% trans %}
41 <strong>Why did we create a REST API?</strong><br />
42 ... when you can use the command line tools?<br />
43 We need to keep in mind, that everyone has the right to stay secure
44 and private but not everyone feels comfortable using a terminal. The
45 further developed REST access to GNUnet APIs in addition to the new
46 web application allows new users to interact with GNUnet over a well
47 known tool: their browsers. This addition to the C API and the command
48 line tools may attract new users and developers.
49 {% endtrans %}
50 </p>
51 <p>
52 {% trans %}
53 <strong>How can we use it?</strong><br />
54 1. The REST API developed in GNUnet<br /> The REST API is
55 already merged into the gnunet.git repository
56 (<a href="https://gnunet.org/git/gnunet.git/">GNUnet Main Git</a>).<br />
57 To use the new features, clone the repository
58 and follow the <a href="https://gnunet.org/installation">Installation</a>
59 on gnunet.org. Then, start the rest service with "gnunet-arm -i rest".
60 {% endtrans %}
61 </p>
62 <p>
63 {% trans %}
64 2. The Web Application<br />
65 The web application is available under the gnunet-webui.git
66 repository
67 (<a href="https://gnunet.org/git/gnunet-webui.git/">GNUnet WebUI Git</a>).<br />
68 You need to install the newest version of 'node' and
69 'yarn'. Dependent on your system, you may need to download
70 newer versions and install them manually and not over your
71 packet manager. After the installation succeeded, you need to
72 clone the repository. Then, you need to run "yarn install" and
73 "yarn start" for testing purposes. To deploy the website (keep
74 in mind, that this website communicates with another localhost
75 instance) use "yarn build" for building the web application
76 and use the output in the 'dist' directory.
77 {% endtrans %}
78 </p>
79 <p>
80 {% trans %}
81 3. The Documentation<br />
82 The documentation is available under the gnunet-rest-api.git
83 repository
84 (<a href="https://gnunet.org/git/gnunet-rest-api.git/">GNUnet REST API Docmentation Git</a>).<br />
85 Clone the repository
86 and "make html". Then open the 'index.html' under
87 'build/html/'.
88 {% endtrans %}
89 </p>
90 <p>
91 {% trans %}
92 Please, give it a try and contact me, if you find any
93 bugs or unintentional features. ;)
94 {% endtrans %}
95 </p>
96 <p>
97 {% trans %}
98 <strong>What can be improved?</strong><br />
99 Right now, the build process of the web application may be a
100 little too complex for a casual user. We may be able to solve
101 this by using docker.<br /> Additionally, the web application
102 does not prevent wrong inputs but responds with error
103 messages. Adding GNUnet Records is currently only usable for
104 people, who know how a GNS Record looks like. This can be
105 adapted to each record type.<br />
106 Last but not least, additional features, design changes,
107 etc...
108 {% endtrans %}
109 </p>
110 <p>
111 {% trans %}
112 Thanks for reading.
113 {% endtrans %}
114 </p>
115 </div>
116 </article>
117{% endblock body_content %}
diff --git a/template/gsoc.html.j2 b/template/gsoc.html.j2
index 3b4a3855..fdca054f 100644
--- a/template/gsoc.html.j2
+++ b/template/gsoc.html.j2
@@ -311,34 +311,6 @@
311 </p> 311 </p>
312 </section> 312 </section>
313 <section> 313 <section>
314 <h4>GNUnet Web-based User Interface</h4>
315 <p>
316 {% trans %}
317 Implementation of a Web-based UI for GNUnet similar to
318 GNUnet-Gtk with a yet to be determined framework such as
319 Angular2. This includes the design and implementation of
320 not yet existing <a href="http://jsonapi.org/">REST APIs</a>
321 that expose the
322 <a href="https://gnunet.org/doxygen/modules.html">GNUnet API</a>.
323 {% endtrans %}
324 </p>
325 <p>
326 {% trans %}
327 <strong>Mentors:</strong> Martin Schanzenbach
328 {% endtrans %}
329 </p>
330 <p>
331 {% trans %}
332 Required Skills: C, JavaScript, CSS
333 {% endtrans %}
334 </p>
335 <p>
336 {% trans %}
337 Difficulty level: medium
338 {% endtrans %}
339 </p>
340 </section>
341 <section>
342 <h4>secushare: Implement social networking features on top of pubsub channels</h4> 314 <h4>secushare: Implement social networking features on top of pubsub channels</h4>
343 <p> 315 <p>
344 {% trans %} 316 {% trans %}
@@ -581,13 +553,42 @@
581 {% endtrans %} 553 {% endtrans %}
582 </p> 554 </p>
583 </section> 555 </section>
584 <!-- 556 <h2>{{ _("Finished projects") }}</h2>
585 <h2>{{ _("Finished projects") }}</h2> 557 <!-- Commentary: Finished projects, descriptions and Links to write-ups about them. -->
586 --> 558 <h3>2018</h3>
587 <!-- 559 <section>
588 Commentary: Finished projects, descriptions and 560 <h4>GNUnet Web-based User Interface</h4>
589 Links to write-ups about them. 561 <p>
590 --> 562 {% trans %}
591 </div> 563 Implementation of a Web-based UI for GNUnet similar to
564 GNUnet-Gtk with a yet to be determined framework such as
565 Angular2. This includes the design and implementation of
566 not yet existing <a href="http://jsonapi.org/">REST APIs</a>
567 that expose the
568 <a href="https://gnunet.org/doxygen/modules.html">GNUnet API</a>.
569 {% endtrans %}
570 </p>
571 <p>
572 {% trans %}
573 <strong>Mentors:</strong> Martin Schanzenbach
574 {% endtrans %}
575 </p>
576 <p>
577 {% trans %}
578 Required Skills: C, JavaScript, CSS
579 {% endtrans %}
580 </p>
581 <p>
582 {% trans %}
583 Difficulty level: medium
584 {% endtrans %}
585 </p>
586 <p>
587 {% trans %}
588 Report: <a href="gsoc-2018-gnunet-webui.html">GSoC 2018: GNUnet WebUI</a>
589 {% endtrans %}
590 </p>
591 </section>
592 </div>
592 </article> 593 </article>
593{% endblock body_content %} 594{% endblock body_content %}