GoldVault
Una plataforma de inversión en oro mobile-first donde los usuarios mantienen y operan con Universal Gold Grams (UGG) junto a saldos en euros — respaldada por un sistema de administración ASP.NET Core protegido con JWT.
Visión general
GoldVault fue un experimento fintech de carrera temprana — una plataforma full-stack de inversión en oro construida en 2020 a través de tres bases de código: una app nativa Android, una REST API en ASP.NET Core y un panel de administración Angular. La ambición era real: los usuarios mantendrían y operarían con unidades respaldadas por oro físico (UGG — Universal Gold Grams) junto a saldos en euros, todo gestionado a través de una interfaz móvil protegida con PIN.
El modelo contable del oro debía construirse desde primeros principios. Un UGG no es una criptomoneda y no es una acción — necesitaba su propio flujo de conversión bidireccional (EUR → UGG y UGG → EUR), seguimiento de comisiones de custodia y un back-office que permitiera a los administradores gestionar el inventario del trezor y aprobar los perfiles de los clientes. La arquitectura MVVM de Android, la API protegida con JWT y el administrador Angular se construyeron de forma independiente y se conectaron a través de un esquema MySQL compartido.
Como proyecto en solitario de 2020, es anterior a muchos de los atajos arquitectónicos disponibles hoy. MVVM limpio con LiveData, un backend .NET con sabor a CQRS con MediatR y FluentValidation, y una SPA Angular con guardias de rol — todo escrito sin un senior que revisara los PRs.
Arquitectura
Leyendo el diagrama: La app Android (MVVM, navegación inferior con Inicio / Buscar / Oro & Dinero / Iniciar transacción) se comunica con la API ASP.NET Core 3.1. Un flujo de activación protegido por PIN controla el primer acceso. La API posee la autenticación JWT con rotación de refresh tokens, valida solicitudes vía FluentValidation y despacha comandos a través de MediatR. MySQL vía Pomelo EF Core almacena usuarios, saldos en EUR y el libro mayor de gramos de oro UGG. El panel de administración Angular 10 gestiona los datos KYC de los clientes, el inventario del trezor UGG, el almacén de barras de oro y la mensajería.
El oro como activo digital en 2020 significaba construir el modelo contable desde cero. UGG no era una metáfora — era un asiento de libro mayor que tenía que sobrevivir a conversiones, comisiones de custodia y anulaciones de administrador.
Seis cosas entregadas,
tres difíciles resueltas.
Contribuciones clave
- Diseñé y construí la app nativa Android — arquitectura MVVM con Navigation Component, inicio de sesión protegido por PIN y navegación inferior para cuatro pantallas principales.
- Definí el modelo contable del oro: cartera de doble saldo que rastrea Euro Cash on Hand y Universal Gold Grams (UGG) como la unidad de inversión nativa de la plataforma.
- Implementé cuatro flujos de transacción en móvil: transferencia en euros, transferencia en efectivo, compra EUR → UGG y liquidación UGG → EUR.
- Construí la REST API ASP.NET Core 3.1 — autenticación JWT con refresh tokens, control de acceso basado en roles vía ASP.NET Identity y Swagger vía NSwag.
- Entregué el panel de administración back-office en Angular 10 — gestión de clientes con información legal e historial de transacciones, administración del trezor UGG, almacén de barras de oro, alarmas y mensajería.
- Conecté todo a una base de datos MySQL compartida vía Pomelo EF Core con seguimiento de auditoría soft-delete y registro estructurado con Serilog.
Desafíos resueltos
- Modelar una unidad de oro personalizada (UGG) que se comporta como un instrumento financiero negociable — requiere flujos de conversión bidireccionales y contabilidad de libro mayor separada de los saldos en EUR.
- Construir solo un sistema completo de tres capas en 2020 — app móvil, API y panel de administración — bajo restricciones de carrera temprana, manteniendo patrones MVVM y CQRS limpios en todo momento.
- Asegurar el back-office con rotación de JWT refresh tokens, guardias de rol e interceptores HTTP sin una plantilla de autenticación interna existente como referencia.
Qué hay bajo el capó.
¿Listo para arreglar, construir
o escalar?
30 minutos, conmigo personalmente. Leo tu sistema como un archivo de logs y te digo qué haría primero. Sin presentaciones, sin embudo de ventas.
— Davor Majc, fundador, Numen





