Veridion is a compliant single-page React framework financial sandbox. It acts as an interactive simulation gateway for testing, trading, and securing digital assets, including Bitcoin (BTC), Ethereum (ETH), and Veridion's own state currency, Veridion Coin (VRDN).
To make the codebase accessible, the documentation is divided into separate, specialized files:
- ABOUT.md: Product details, system architecture, core security components (MFA, Session lockouts), and sandbox desk operations.
- SCHEMA.md: Comprehensive database schemas, tables structure, relations, and data types (PostgreSQL mapped via Prisma).
- INTEGRATIONS.md: Specifications and payloads for the upcoming transition to a Rust-based sovereign blockchain ledger (including RPC structs and WebSocket block-minting event formats).
frontend/: Single-page application using React, Vite, and TypeScript. Includes real-time ticking yield compounding, live ledger block explorer simulations, and state indicators.backend/: Node.js + Express API server with JWT cookie session controls, geographical IP-based device tracking, and programmatic startup database seeding.
cd backend
cp .env.example .env # edit JWT secrets or CORS settings if needed
docker compose up -d db # starts the PostgreSQL container only
npm install
npm run prisma:migrate # applies migration schemas
npm run dev # runs backend server on http://localhost:4000Note: On server startup, the database automatically runs a programmatic seed check to ensure the default Administrator Demo account (user@example.com / password123) is created.
cd frontend
cp .env.example .env # specifies VITE_API_URL=http://localhost:4000
npm install
npm run dev # runs Vite web client on http://localhost:5173Both the frontend and backend applications are validated:
- Backend Build Check:
npm run buildinsidebackend/compiling TypeScript output. - Backend Lint & Typecheck:
npm run typecheckverifying Prisma client models. - Frontend Build Check:
npm run buildinsidefrontend/generating static asset bundles underdist/. - Frontend Typecheck:
npx tsc --noEmitconfirming React prop structures.