]> git.frustrated-labs.net Git - larousseapi/commitdiff
feat: add about and contributing sections
authorAlexander Goussas <[email protected]>
Sun, 31 May 2026 18:03:31 +0000 (13:03 -0500)
committerAlexander Goussas <[email protected]>
Sun, 31 May 2026 18:03:31 +0000 (13:03 -0500)
src/main/resources/templates/pub/about.html [new file with mode: 0644]
src/main/resources/templates/pub/contributing.html [new file with mode: 0644]
src/main/resources/templates/pub/index.html

diff --git a/src/main/resources/templates/pub/about.html b/src/main/resources/templates/pub/about.html
new file mode 100644 (file)
index 0000000..6b12938
--- /dev/null
@@ -0,0 +1,69 @@
+{@net.frustratedfunctor.ui.WordTranslationsDefinitions  translationsDefinitions}
+<!DOCTYPE html>
+<html lang="en">
+<meta charset="UTF-8">
+<meta name="description" content="Translations and definitions service for French and English">
+<title>Frustrated Langs | About</title>
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<script defer src="https://analytics.frustrated-labs.net/script.js"
+        data-website-id="ac647826-77cd-48d0-b184-2da490b4adb4"></script>
+<script defer src="https://analytics.frustrated-labs.net/recorder.js"
+        data-website-id="ac647826-77cd-48d0-b184-2da490b4adb4" data-sample-rate="0.15" data-mask-level="moderate"
+        data-max-duration="300000"></script>
+<link rel="stylesheet" href="/styles.css">
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/picnic">
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css"
+      integrity="sha512-2SwdPD6INVrV/lHTZbO2nodKhrnDdJK9/kg2XD1r9uGqPo1cUbujc+IYdlYdEErWNu69gVcYgdxlmVmzTWnetw=="
+      crossorigin="anonymous" referrerpolicy="no-referrer"/>
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/solid.min.css"
+      integrity="sha512-EHa6vH03/Ty92WahM0/tet1Qicl76zihDCkBnFhN3kFGQkC+mc86d7V+6y2ypiLbk3h0beZAGdUpzfMcb06cMg=="
+      crossorigin="anonymous" referrerpolicy="no-referrer"/>
+<style>
+</style>
+<body>
+
+<header>
+    <nav class="demo">
+        <a href="#" class="brand">
+            <img class="logo" src="/logo.png" alt="logo"/>
+            <span>Frustrated Langs</span>
+        </a>
+
+        <!-- responsive-->
+        <input id="bmenub" type="checkbox" class="show">
+        <label for="bmenub" class="burger pseudo button">&#8801;</label>
+
+        <div class="menu">
+            <a href="/about.html" class="pseudo button">About</a>
+            <a href="/api.html" class="pseudo button">API</a>
+            <a href="/contributing.html" class="button">Contribute</a>
+        </div>
+    </nav>
+</header>
+
+<main class="">
+    <h1>About</h1>
+    <p>
+        I started building this site mainly to learn Quarkus and Kubernetes.
+        Nonetheless, I have found it useful, specially the API, for my language learning purposes.
+        As such, I will continue to develop and maintain it for the foreseeable future.
+    </p>
+    <p>
+        You can use the search bar to get translations and definitions for words. For now, we only
+        support French to English translations, but support for other languages is planned for the
+        near future.
+    </p>
+    <p>
+        If you think you can make this site better, or if you want a new language to be added,
+        see <a href="/contributing.html">the contributing section</a>.
+    </p>
+</main>
+
+<footer>
+    <small>Copyright 2026 Alexander Goussas</small>
+    <br>
+    <small>Made with Quarkus and k8s and <3</small>
+</footer>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/templates/pub/contributing.html b/src/main/resources/templates/pub/contributing.html
new file mode 100644 (file)
index 0000000..78b98b3
--- /dev/null
@@ -0,0 +1,87 @@
+{@net.frustratedfunctor.ui.WordTranslationsDefinitions  translationsDefinitions}
+<!DOCTYPE html>
+<html lang="en">
+<meta charset="UTF-8">
+<meta name="description" content="Translations and definitions service for French and English">
+<title>Frustrated Langs | Contributing</title>
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<script defer src="https://analytics.frustrated-labs.net/script.js"
+        data-website-id="ac647826-77cd-48d0-b184-2da490b4adb4"></script>
+<script defer src="https://analytics.frustrated-labs.net/recorder.js"
+        data-website-id="ac647826-77cd-48d0-b184-2da490b4adb4" data-sample-rate="0.15" data-mask-level="moderate"
+        data-max-duration="300000"></script>
+<link rel="stylesheet" href="/styles.css">
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/picnic">
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css"
+      integrity="sha512-2SwdPD6INVrV/lHTZbO2nodKhrnDdJK9/kg2XD1r9uGqPo1cUbujc+IYdlYdEErWNu69gVcYgdxlmVmzTWnetw=="
+      crossorigin="anonymous" referrerpolicy="no-referrer"/>
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/solid.min.css"
+      integrity="sha512-EHa6vH03/Ty92WahM0/tet1Qicl76zihDCkBnFhN3kFGQkC+mc86d7V+6y2ypiLbk3h0beZAGdUpzfMcb06cMg=="
+      crossorigin="anonymous" referrerpolicy="no-referrer"/>
+<style>
+</style>
+<body>
+
+<header>
+    <nav class="demo">
+        <a href="#" class="brand">
+            <img class="logo" src="/logo.png" alt="logo"/>
+            <span>Frustrated Langs</span>
+        </a>
+
+        <!-- responsive-->
+        <input id="bmenub" type="checkbox" class="show">
+        <label for="bmenub" class="burger pseudo button">&#8801;</label>
+
+        <div class="menu">
+            <a href="/about.html" class="pseudo button">About</a>
+            <a href="/api.html" class="pseudo button">API</a>
+            <a href="/contributing.html" class="button">Contribute</a>
+        </div>
+    </nav>
+</header>
+
+<main class="">
+    <h1>Contributing</h1>
+    <h2>
+        Suggestions, requests and ideas
+    </h2>
+    <p>
+        If you have a suggestion or idea that could make this website better, or if you want to request a new language
+        to be
+        added, please feel free to send me an email at <a href="mailto:[email protected]">[email protected]</a>.
+    </p>
+    <h2>Adding a new language</h2>
+    <p>
+        You can send me a patch implementing support for your language. Take a look at the <a
+            href="https://git.frustrated-labs.net/?p=larousseapi;a=summary">codebase</a>.
+        I think everything is pretty self-explanatory. You should create a new implementation of the
+        <code>WordDefinitionRepository</code> and <code>WordTranslationRepository</code> interfaces and add it to the
+        corresponding composite classes.
+    </p>
+    <p>
+        The patches should be sent over email with the subject <code>[larousseapi] PATCH: description</code>
+    </p>
+    <p>
+        For alignment on anything, you can contact me over email or message me on LinkedIn. I will gladly discuss the
+        API's design and other technical stuff in a call or text.
+    </p>
+    <h2>Technical stack</h2>
+    <p>
+        The API uses Quarkus REST for the API and the Qute template engine for the frontend. Everything is deployed
+        on k8s and instrumented for both frontend and backend metrics with Umami and OTEL respectively. Once you
+        clone the repository, you should be able to run it in dev mode with <code>quarkus dev</code>.
+    </p>
+    <p>
+        There are no external databases or else needed, for now. I plan to add a caching layer in the future.
+    </p>
+</main>
+
+<footer>
+    <small>Copyright 2026 Alexander Goussas</small>
+    <br>
+    <small>Made with Quarkus and k8s and <3</small>
+</footer>
+
+</body>
+</html>
\ No newline at end of file
index e3a5cbab0c9e20aadea910b539469c7319fcea72..34bcd6f00573924879562c8991d609cba9c82f5c 100644 (file)
@@ -34,9 +34,9 @@
         <label for="bmenub" class="burger pseudo button">&#8801;</label>
 
         <div class="menu">
-            <a href="#" class="pseudo button">About</a>
-            <a href="#" class="pseudo button">API</a>
-            <a href="#" class="button">Contribute</a>
+            <a href="/about.html" class="pseudo button">About</a>
+            <a href="/api.html" class="pseudo button">API</a>
+            <a href="/contributing.html" class="button">Contribute</a>
         </div>
     </nav>
 </header>