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.
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
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.
Š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.
Kaj poganja stvari.
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





