update about text and elevate about button
This commit is contained in:
@@ -10,50 +10,16 @@ import win.tap_tap.papertrader.components.LanguageSelect
|
||||
|
||||
fun Texts.getAbout(): String {
|
||||
return when (selectedLanguage()) {
|
||||
// Languages.ENGLISH -> """
|
||||
//#### The Vision
|
||||
//
|
||||
//This paper trading platform was designed to bridge the gap between "responsible investing" and the fun of the market without the actual risk of losing capital.
|
||||
//To do that you can compete against your friends in Challenges, to see who can generate the highest return with a given cash on the markets.
|
||||
//The app supports Android, Web (via WebAssembly and JS) and Desktop.
|
||||
//
|
||||
//#### Motivation
|
||||
//
|
||||
// I am Theo Tappe, currently studying informatics and wanted to learn KMP and having some fun with friends using the app.
|
||||
//
|
||||
//#### Technologies Used
|
||||
//
|
||||
//- **Kotlin Multiplatform (KMP)**: an open-source technology that allows you to use a single codebase for all supported platforms including the server while still running natively
|
||||
//- **K3S (Kubernetes)**: lightweight Kubernetes distribution for managing the docker server
|
||||
//- **AlpacaAPI**: an trading API where the server gets all the stock data from
|
||||
//- **Ktor**: asynchronous framework for datatransfer between server and client
|
||||
//- **NixOS**: the operating system K3S runs on which is defined declaratively and therefore reproducable and reliable
|
||||
//- **Proxmox**: type 1 hypervisor that allows to run multiple services on my personal server
|
||||
//- **SqlDelight**: typsafe API to interact with a sqlight database
|
||||
//
|
||||
//#### Roll of Technologies
|
||||
//
|
||||
//- **KMP**:
|
||||
// - Native Performance: KMP compiles to native binaries ensuring that the app stays responsive.
|
||||
// - Shared Code: All of the frontend code is shared between the supportet platforms, so that the project can be implemented by a single developer.
|
||||
// - Shared Data: All Data-Transfer-Objects are shared between the frontend and backend which reduces bugs.
|
||||
//- **Server Managing**:
|
||||
// - **Proxmox**: has multple virtual maschines and one runs NixOS with Kubernetes
|
||||
// - **NixOS**: Operating System of the kubernetes (single-node) cluster, with high maintalibility and ... in mind
|
||||
// - **K3S**: Manages multliple servers with this backend, nextcloud and vaultwarden among other things
|
||||
//- **Backend**:
|
||||
// - **Ktor**: handles all the network traffic and data serialisation
|
||||
// - **SqlDelight**: Typesafe API which is used to store all data
|
||||
//- **Frontend / KMP**:
|
||||
// - **Jetpack Compose**: UI implementation which is shared accross all supportet
|
||||
//"""
|
||||
|
||||
Languages.ENGLISH -> """
|
||||
Languages.ENGLISH ->
|
||||
"""
|
||||
#### Motivation
|
||||
|
||||
This application was developed by Theo Tappe as a comprehensive technical showcase for my application and to have some fun with friends.
|
||||
It demonstrates a full-stack approach, combining cross-platform development with a robust, automated infrastructure.
|
||||
|
||||
#### Links
|
||||
|
||||
All code can be found on my gitlab instance: https://gitlab.tap-tap.win/root/taptappapertrader
|
||||
|
||||
#### Frontend Architecture
|
||||
|
||||
@@ -102,13 +68,17 @@ This minimizes "it works on my machine" issues and ensures a stable production e
|
||||
The entire stack is hosted on a Proxmox VE cluster.
|
||||
This allows me to manage an internal network including TrueNAS for storage, OPNsense for networking and NixOS for deploying.
|
||||
"""
|
||||
|
||||
Languages.GERMAN -> """
|
||||
Languages.GERMAN ->
|
||||
"""
|
||||
#### Motivation
|
||||
|
||||
Diese Anwendung wurde von Theo Tappe als umfassendes technisches Showcase für meine Bewerbung sowie als Freizeitprojekt für Freunde entwickelt.
|
||||
Sie demonstriert einen Full-Stack-Ansatz, der moderne plattformübergreifende Entwicklung mit einer robusten, automatisierten Infrastruktur kombiniert.
|
||||
|
||||
#### Links
|
||||
|
||||
Der gesamt Code kann auf meiner Gitlab Instanz und kann hier gefunden werden: https://gitlab.tap-tap.win/root/taptappapertrader
|
||||
|
||||
#### Frontend-Architektur
|
||||
|
||||
- **Native Performance via KMP**:
|
||||
@@ -162,4 +132,4 @@ fun About() {
|
||||
LanguageSelect()
|
||||
ButtonSpacer()
|
||||
Markdown(texts.getAbout())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,16 +6,14 @@ import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.rounded.ChevronLeft
|
||||
import androidx.compose.material.icons.rounded.Refresh
|
||||
import androidx.compose.material3.FilledIconButton
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.*
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.ktor.util.reflect.*
|
||||
import win.tap_tap.papertrader.LocalBackStack
|
||||
import win.tap_tap.papertrader.components.AppText
|
||||
import win.tap_tap.papertrader.components.AppTextLink
|
||||
import win.tap_tap.papertrader.components.ButtonSpacer
|
||||
import win.tap_tap.papertrader.routes.Routes
|
||||
@@ -77,10 +75,12 @@ fun Page(
|
||||
ButtonSpacer()
|
||||
}
|
||||
if (!curNavKey.instanceOf(Routes.About::class)) {
|
||||
AppTextLink("About", onClick = {
|
||||
ElevatedButton(onClick = {
|
||||
backStack.add(Routes.About)
|
||||
viewModel?.reset()
|
||||
})
|
||||
}) {
|
||||
AppText("About")
|
||||
}
|
||||
ButtonSpacer()
|
||||
}
|
||||
if (!curNavKey.instanceOf(Routes.PrivacyPolicy::class)) {
|
||||
|
||||
Reference in New Issue
Block a user