You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>Just kidding... or am I? It turns out that my university is part of a consortium that work on the nIoVe project for the European Climate, Infrastructure and Environment Executive Agency (or CINEA, for short), as part of the Avenue project under the Horizon 2020 initiative of the European Union Commission.</p>
4
+
<p>So... it turns out that my university is part of a consortium that work on the nIoVe project for the European Climate, Infrastructure and Environment Executive Agency (or CINEA, for short), as part of the Avenue project under the Horizon 2020 initiative of the European Union Commission.</p>
5
5
6
6
<p>Okay, those were a lot of words, but you still don't know what it's about.</p>
<p>I was recently asked whether I could a family member out, as they needed a custom inventory management platform for pieces of a family art collection.</p>
3
3
<p>I accepted, although I probably shouldn't have.</p>
4
-
<p>I'll go over how the project services were designed, how it is being hosted, and more, in this article.</p>
4
+
<p>I'll go over how the project services were designed, how it is being hosted, and more, in this blog post.</p>
5
5
6
6
<h4>Run-down</h4>
7
7
<ul>
@@ -13,16 +13,16 @@ <h4>Run-down</h4>
13
13
<hr/>
14
14
<h4id='the-service-architecture'>The service architecture</h4>
15
15
<p>The project follows a pretty simple design: the web frontend is how the user interacts with the service, the backend is how the service saves the data to a database.</p>
16
-
<p>Due to my past experience, I decided to write the frontend in Angular, and the backend in Python, using FastAPI as the middleware. The database would use PostgreSQL</p>
16
+
<p>Due to my past experience, I decided to write the frontend in Angular, and the backend in Python, using FastAPI as the middleware. The database would use MySQL.</p>
17
17
18
18
<br/>
19
19
<h4id='the-pi'>The Pi</h4>
20
20
<p>For a myriad of reasons, we decided to use a local system, and decided to do so on a Raspberry Pi 4.</p>
21
21
<p>The Pi has a number of advantages, but the one I retained was that one could have it boot off of an SSD, rather than the traditional SD card.</p>
22
22
<p>Another neat thing is that there are a lot of case designs to 3D print, and I found a design that allows for an SSD, and additional ventilation fans.</p>
23
+
<p>I got my model for the casing from <atarget="_blank" href="https://www.thingiverse.com/thing:5270416/files" rel="noopener"><emclass="fas fa-external-link-square-alt"></em> Thingiverse</a>, which I then printed at the <atarget="_blank" href="https://faclab.ch" rel="noopener"><emclass="fas fa-external-link-square-alt"></em> FacLab</a>, my universities' makerspace.</p>
23
24
24
25
<br/>
25
-
<p>Link thingiverse</p>
26
26
<p>The first element was to fit the SSD into the casing. In order to have it snug against the base, I flipped it from its original configuration.</p>
@@ -61,11 +62,18 @@ <h4 id='what-does-it-run'>What does it run?</h4>
61
62
<p>From the get go I decided that I would use containerized applications, probably using Docker.</p>
62
63
<p>This somewhat restricted my choice of platforms, so I went with a very lightweight and headless version of Ubuntu, which I flashed onto the SSD.</p>
63
64
64
-
<p>I then installed containerd, docker and docker-compose for the management of our services.</p>
65
-
<p></p>
65
+
<p>I then installed containerd, docker and docker-compose for the management of our services, and went on to design a service architecture.</p>
66
+
<p>I knew I would need a frontend (for the user to perform the relevant inventory actions), a backend (to handle said actions) and a database (to store the data).</p>
67
+
<p>I also knew I did not want to use PHP, despite the fact that it would cut out the backend portion, because it isn't that great for modular code blocks, whereas Angular (when done right) is fantastic.</p>
66
68
67
-
- Small deployed web service
68
-
- Ubuntu
69
-
- Docker
70
-
- ufw
69
+
<p>The backend I decided could be done in FastAPI, mainly because it supports being run in a service-esque fashion via uvicorn, and I didn't need inordinate speed.</p>
70
+
<p>As for the database, although I'd originally started by using a NoSQL database (MongoDB), I reverted to MySQL when I realized that searching specific fields could be made quicker with indexed data.</p>
71
+
72
+
<p>This led the final services architecture to look something like this:</p>
<p>After all of this was setup, I configured a few services such as a backup system, which exports the database to the device and uploads it to a server I control, and a firewall, which disallows anyone not connected locally on the network from accessing the services, whether web or SSH.</p>
<li><g-emojiclass="g-emoji" alias="telescope" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f52d.png">🔭</g-emoji> I'm a Student, a Developer, an InfoSec/OSINT enthusiast and a CTF player.</li>
13
+
<li><g-emojiclass="g-emoji" alias="telescope" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f52d.png">🔭</g-emoji> I'm an Infosec practitioner, a developer, an OSINT enthusiast and a CTF player.</li>
14
14
<!--<li><g-emoji class="g-emoji" alias="seedling" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f331.png">🌱</g-emoji> I'm currently learning Coding for OSINT.</li>-->
15
15
<li><g-emojiclass="g-emoji" alias="sparkles" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2728.png">✨</g-emoji> I am one of the Community Managers at <atarget="_blank" href="https://digitaloverdose.tech/" rel="noopener"><emclass="fas fa-external-link-square-alt"></em> Digital Overdose</a>, an infosec community on Discord, where I also organize the <atarget="_blank" href="https://digitaloverdose.tech/conference" rel="noopener"><emclass="fas fa-external-link-square-alt"></em> D.O. Conference</a>!</li>
16
-
<li><g-emojiclass="g-emoji" alias="two_men_holding_hands" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1.png">👬</g-emoji> I'm looking to collaborate on InfoSec, OSINT, Development and any combination thereof.</li>
16
+
<!--li><g-emoji class="g-emoji" alias="two_men_holding_hands" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1.png">👬</g-emoji> I'm looking to collaborate on InfoSec, OSINT, Development and any combination thereof.</li-->
17
17
<li><g-emojiclass="g-emoji" alias="speech_balloon" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ac.png">💬</g-emoji> Ask me about Development, Security and OSINT. Maybe also about various CTF challenges!</li>
18
-
<li><g-emojiclass="g-emoji" alias="zap" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/26a1.png">⚡</g-emoji> Fun fact: I enjoy (chili) coffee and cheese.</li>
18
+
<li><g-emojiclass="g-emoji" alias="zap" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/26a1.png">⚡</g-emoji> Fun fact: I enjoy nerding out about fun things.</li>
19
19
</ul>
20
20
</app-collapsible>
21
21
<app-collapsiblebuttonText="How did I get here?">
22
-
<p>I'm involved in quite a few things, but I started out as some shitty kid with no computer knowledge from somewhere in Switzerland.</p>
23
-
<p>When I was small I wanted to become something cool, like a rocket scientist, or a bio-mechanical engineer (in my mind someone who builds all these really cool prostheses and stuff). Alas, the realities of life caught up to me.<br/>
22
+
<p>I'm involved in quite a few things, but I started out as some kid with no computer knowledge from somewhere in Switzerland.</p>
23
+
<p>When I was small I wanted to become something cool, like a rocket scientist, or a biomechanical engineer (in my mind someone who builds all these really cool prostheses and stuff). Alas, the realities of life caught up to me.<br/>
24
24
In high school (in France), I noticed my aptitude in maths, physics and the like was acceptable, but wasn't stellar.</p>
25
25
<p>What I did notice, was that I was pretty good in an elective class called "Computer systems and digital sciences", and furthermore, that I was interested by the field.<br/>
26
26
So started my fall into all things computer.</p>
@@ -31,21 +31,22 @@ <h6>I'm someone, at least I think. The latter is enough, if you ask René Descar
31
31
<p>That got me a year where I could go over some details I'd forgotten, but it also got me to take that elective again, where I outperformed myself and learned more about the field (as well as some Java and C++).</p>
32
32
<p>I graduated with some pretty good marks, and managed to enroll at EPFL (one of Switzerland's top polytechnical universities) in Computer Science, which was "the dream".<br/>Spoiler alert: I failed. Hard. All of the higher level maths were coming to bite me in the ass.</p>
33
33
<p>So, what next?<br/>
34
-
After some searching, I enrolled in the University of Geneva, in the Institute for Information Systems and Service Sciences, where I obtained a Bachelor's degree, and am now pursuing my Master's Degree.</p>
34
+
After some searching, I enrolled in the University of Geneva, in the Institute for Information Systems and Service Sciences, where I obtained a Bachelor's degree, and am now finishing my Master's Degree.</p>
35
35
<p>There, I got more and more involved in security and sideloaded infosec.</p>
36
36
</app-collapsible>
37
37
<app-collapsiblebuttonText="What do I do now?">
38
-
<p>I'm primarily a student at the Institute for Information Systems and Service Sciences, where I'm in my 2nd year of a Master's Degree.<br/>
39
-
- I used to be a teaching assistant for 3 classes: "Introduction to Programming", "Software & Computer Networks" and the "Transversal Class on the Digital".</p>
38
+
<p>I work as a computer-booper!</p>
39
+
<p>I was until recently (early-2023) a student at the Institute for Information Systems and Service Sciences, where I'm in my 2nd year of a Master's Degree.</p>
40
+
<p>I used to be a teaching assistant for 3 classes: "Introduction to Programming", "Software & Computer Networks" and the "Transversal Class on the Digital".</p>
40
41
<p>I used to partake quite actively in our student body association, where I acted as community manager and <spanstyle='text-decoration: line-through;'>secretary</span><spanstyle='padding-left: 5px'>
41
42
</span><spanstyle='text-decoration: line-through;'>vice-president</span> president, from 2019 until 2022.</p>
42
-
<p>Back in 2019, I started to work as a software developer in a (to-be-open-sourced) project concerning IoT, mobile development and pollution, which is still currently [REDACTED].</p>
43
+
<p>In 2021 I also got more involved in infosec communities, joining Infosec Happy Hour (<em>EDIT 2022: Defunct</em>) and TMHC (<em>EDIT 2022: Defunct</em>), and also giving my first ever talk!</p>
44
+
<p>In 2021, I acquired my Bachelor's Degree in Information Systems and Service Sciences.</p>
43
45
<p>Until 2020, I worked as a workshop host for students from middle- and high-school, where they can become more acquainted with the world of computers.</p>
44
46
<p>In 2020, I co-founded an association with friends at the end of a hackathon, and our aim is to create a platform where people can easily acquire relevant information when victims of domestic abuse. (<em>EDIT 2021: I've since taken my leave from this project</em>)</p>
45
-
<p>In 2021, I acquired my Bachelor's Degree in Information Systems and Service Sciences.</p>
46
-
<p>I also subsequently got more involved in infosec communities, joining Infosec Happy Hour (<em>EDIT 2022: Defunct</em>) and TMHC (<em>EDIT 2022: Defunct</em>), and also giving my first ever talk!</p>
47
+
<p>From 2019 to early-2021, I started to work as a software developer in a (to-be-open-sourced) project concerning IoT, mobile development and pollution, which is still currently [REDACTED].</p>
47
48
</app-collapsible>
48
-
<app-collapsiblebuttonText="What are my skillz?">
49
+
<app-collapsiblebuttonText="What are my skills?">
49
50
<p>Mainly development! I've worked with Python, Java, Scala, Golang, C, Dart, JS, TS, PHP, C++ and am looking to skill up in Ruby and Rust.</p>
50
51
<p>I'm familiar with a growing number of topics in Infosec.</p>
0 commit comments