diff options
author | ng0 <ng0@n0.is> | 2019-03-22 13:13:41 +0000 |
---|---|---|
committer | ng0 <ng0@n0.is> | 2019-03-22 13:13:41 +0000 |
commit | ba99957c5917d5cae9aa6714c66c45ae0133eaf2 (patch) | |
tree | ec9f67b1ae63b39bf61a655d5570e7714b0b2b88 | |
parent | 410de85399595e03e01744667c0365f7817bbc64 (diff) | |
download | www-ba99957c5917d5cae9aa6714c66c45ae0133eaf2.tar.gz www-ba99957c5917d5cae9aa6714c66c45ae0133eaf2.zip |
GSoC 2018 report
-rw-r--r-- | template/gsoc-2018-gnunet-webui.html.j2 | 117 | ||||
-rw-r--r-- | template/gsoc.html.j2 | 73 |
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 %} |