Domov/ delo/GoldVault
Vodilni razvijalec · 2020 · Fintech

GoldVault

Mobilno usmerjena platforma za naložbe v zlato, kjer uporabniki hranijo in trgujejo z Universal Gold Grams (UGG) ob bok bilancam v evrih — podprta z administracijskim sistemom ASP.NET Core, varovanim z JWT.

Vloga Vodilni razvijalec
Leto 2020
Platforma Android · administracijski back-office
Področje Fintech · Naložbe v zlato
Tehnologije Kotlin · ASP.NET Core · Angular · MySQL
Vrste transakcij
4 flows
EUR nakazilo, gotovina, nakup/prodaja UGG
Enota zlata
UGG
Universal Gold Grams
Dostavljeni repozitoriji
3
Android · API · administracijski panel
Širina sklada
Mobile + Backoffice
Kotlin Android · ASP.NET Core + Angular admin
GoldVault screenshot

Pregled

GoldVault je bil zgodnjekarierni fintech eksperiment — full-stack platforma za naložbe v zlato, zgrajena leta 2020 v treh kodnih bazah: nativni Android aplikaciji, ASP.NET Core REST API in administracijskem panelu v Angularju. Ambicija je bila resnična: uporabniki bi hranili in trgovali z enotami, podprtimi s fizičnim zlatom (UGG — Universal Gold Grams), ob bok bilancam v evrih, vse upravljano preko mobilnega vmesnika, varovanega s PIN-om.

Računovodski model zlata je bilo treba zgraditi od prvih načel. UGG ni kriptovaluta in ni delnica — potrebovala je svoj lastni dvosmerni pretvorbeni tok (EUR → UGG in UGG → EUR), sledenje stroškom hrambe in back-office, ki je administratorjem omogočal upravljanje zaloge trezorja in odobravanje profilov strank. Android MVVM arhitektura, JWT-varovan API in Angular administracija so bili zgrajeni neodvisno in povezani skozi skupno MySQL shemo.

Kot samostojni projekt iz leta 2020 je nastal pred mnogimi arhitekturnimi bližnjicami, ki so na voljo danes. Čisti MVVM z LiveData, .NET zaledje s CQRS pridihom z MediatR in FluentValidation ter Angular SPA z zaščito vlog — vse napisano brez seniorja, ki bi pregledoval PR-je.

Arhitektura

~/goldvault/architecture/system-map.svg
01 — ODJEMALSKE POVRŠINE4,227,250 €122,541 UGGKupiUGGProdajUGGDomovIskanjeTxnAndroid · KotlinVnesi PIN123456789PIN avtentikacijaREST APIASP.NET Core 3.1 · JWT + refresh tokeniMediatR · FluentValidation · AutoMapperNSwag · Serilog · vlogam temelječa avtentikacijavsak odjemalec se avtenticira tukajGoldVault AdminStrankeUGG trezorZlate paliceAlarmiSporočilaSeznam strankAngular 10 · Bootstrap02 — PODATKOVNI SLOJMySQLuporabniki · bilance · txnsEF CorePomelo · soft deleteASP.NET Identityvloge · refresh tokeniUGG knjigaEUR ⇌ grami zlataSerilogstrukturirano beleženjeKotlin 1.3.61 · minSdk 19 · MVVM + Navigation Component · OTP PIN view · Angular 10 + ngx-datatable03 — RUNTIME

Branje diagrama: Android aplikacija (MVVM, spodnja navigacija z Domov / Iskanje / Zlato & Denar / Začni transakcijo) komunicira z ASP.NET Core 3.1 API. Aktivacijski tok, zaščiten s PIN-om, omejuje prvi dostop. API ima v lasti JWT avtentikacijo z rotacijo refresh tokenov, validira zahteve preko FluentValidation in razpošilja ukaze skozi MediatR. MySQL preko Pomelo EF Core hrani uporabnike, EUR bilance in UGG knjigo gramov zlata. Administracijski panel v Angularju 10 upravlja KYC podatke strank, zalogo UGG trezorja, hrambo zlatih palic in sporočanje.

Zlato kot digitalno sredstvo v letu 2020 je pomenilo gradnjo računovodskega modela iz nič. UGG ni bila metafora — bila je vknjižba v glavni knjigi, ki je morala preživeti pretvorbe, stroške hrambe in administratorske preglase.
Davor Majc, vodilni razvijalec / GoldVault
03 Kar sem dostavil · rešeni izzivi

Šest stvari dostavljenih,
tri težke rešene.

Ključni prispevki

  • Zasnoval in zgradil nativno Android aplikacijo — MVVM arhitektura z Navigation Component, prijavo z zaščito s PIN-om in spodnjo navigacijo za štiri glavne zaslone.
  • Definiral računovodski model zlata: portfelj z dvojno bilanco, ki spremlja Euro Cash on Hand in Universal Gold Grams (UGG) kot domačo naložbeno enoto platforme.
  • Implementiral štiri transakcijske tokove na mobilni napravi: EUR nakazilo, gotovinski prenos, nakup EUR → UGG in unovčenje UGG → EUR.
  • Zgradil ASP.NET Core 3.1 REST API — JWT avtentikacijo z refresh tokeni, vlogam temelječ dostop preko ASP.NET Identity in Swagger preko NSwag.
  • Dostavil administracijski panel v Angularju 10 — upravljanje strank s pravnimi podatki in zgodovino transakcij, administracija UGG trezorja, hramba zlatih palic, alarmi in sporočanje.
  • Vse povezal s skupno MySQL bazo preko Pomelo EF Core s soft-delete sledenjem in strukturiranim beleženjem s Serilog.

Rešeni izzivi

  • Modeliranje lastne enote zlata (UGG), ki se obnaša kot tržni finančni instrument — zahteva dvosmerne pretvorbene tokove in ločeno knjigovodstvo od EUR bilanc.
  • Samostojna gradnja celotnega tristopenjskega sistema v letu 2020 — mobilna aplikacija, API in administracijski panel — pod omejitvami zgodnje kariere, ob ohranjanju čistih vzorcev MVVM in CQRS.
  • Zavarovanje back-officea z rotacijo JWT refresh tokenov, zaščito vlog in HTTP prestreznikov brez obstoječe interne avtentikacijske predloge za referenco.
04 Tehnološki sklad

Kaj poganja stvari.

KotlinASP.NET Core 3.1AngularTypeScriptMySQLEntity Framework CoreJWTMediatRAutoMapperNSwagSerilogBootstrap
Pogovorimo se

Pripravljeni popraviti, zgraditi
ali skalirati?

30 minut, z mano osebno. Preberem vaš sistem kot dnevniško datoteko in povem, kaj bi naredil najprej. Brez prezentacij, brez prodajnega lijaka.

Davor Majc, ustanovitelj, Numen

Kaj dobite na klicu
→ enostranska diagnostika
→ 2–3 obliki rešitve, razvrščeni po učinku
→ okvirni strošek + časovnica za vsako
→ da/ne — ali sem prava izbira
+386 40 828 474 · Blejska Dobrava, SI