GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - 1mb-dev/nivomoney: Neobank demo: 8 Go services and a gateway, a double-entry ledger in Postgres, React apps. Archived showcase, runs locally.

BranchesTags
Open more actions menu

Latest commit

 

History

576 Commits
576 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
docs
docs
 
 
frontend
frontend
 
 
gateway
gateway
 
 
monitoring
monitoring
 
 
scripts
scripts
 
 
services
services
 
 
shared
shared
 
 
tests
tests
 
 
.editorconfig
.editorconfig
 
 
.env.enc
.env.enc
 
 
.env.example
.env.example
 
 
.env.template
.env.template
 
 
.gitignore
.gitignore
 
 
.gitleaks.toml
.gitleaks.toml
 
 
.golangci.yml
.golangci.yml
 
 
.sops.yaml
.sops.yaml
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
docker-compose.override.yml.example
docker-compose.override.yml.example
 
 
docker-compose.prod.yml
docker-compose.prod.yml
 
 
docker-compose.yml
docker-compose.yml
 
 
go.mod
go.mod
 
 
go.sum
go.sum
 
 

Repository files navigation

Nivo

A neobank demo showing fintech architecture with Go microservices.

Documentation Go License Status

Overview

Nivo is a portfolio project implementing the core systems of a digital bank. It demonstrates microservices architecture, double-entry accounting, and fintech domain patterns in a working, deployable application.

Archived Showcase — The live demo at nivomoney.com has been retired. The domain now serves a static landing page. Run the platform locally for the full demo experience.

What it includes:

  • 8 Go services and an API gateway, with domain-driven boundaries
  • Double-entry ledger with balanced journal entries
  • JWT authentication with role-based access control
  • React frontends for users and admins
  • Full observability stack (Prometheus, Grafana)

Quick Start

Prerequisites

  • Go 1.26+
  • Docker & Docker Compose
  • Node.js 18+

Setup

git clone https://github.com/1mb-dev/nivomoney.git
cd nivomoney
cp .env.example .env
cp docker-compose.override.yml.example docker-compose.override.yml  # publishes ports

# Start all services. On a fresh database they race on migrations:
# repeat this until `docker compose ps` shows them all healthy.
make dev

# Seed database with demo data (reads config from the environment)
set -a; . ./.env; set +a
make seed

# Start frontend (separate terminal)
cd frontend/user-app && npm install && npm run dev

Open http://localhost:5173 and login with demo credentials.

Demo Accounts

Email Password Balance
[email protected] raj123 ₹50,000
[email protected] priya123 ₹1,50,000

Admin access: Run make seed locally to generate admin credentials (see .secrets/credentials.txt).

All data is synthetic. No real money.

Architecture

services/
├── identity/       # Auth, users, KYC
├── ledger/         # Double-entry accounting
├── wallet/         # Balance management
├── transaction/    # Transfers, payments
├── rbac/           # Roles & permissions
├── risk/           # Fraud detection
├── notification/   # Alerts, messaging
├── simulation/     # Test data generation
└── seed/           # Database seeding

gateway/            # API Gateway with SSE
frontend/
├── user-app/       # Customer React app
└── admin-app/      # Admin dashboard

Tech Stack

Component Technology
Services Go 1.26, standard library net/http
Database PostgreSQL 15
Cache Redis
Auth JWT, bcrypt
Frontend React 19, TypeScript, Vite, TailwindCSS 4
Infrastructure Docker Compose
Monitoring Prometheus, Grafana

Key Patterns

  • Double-entry ledger - Postgres refuses to post a journal entry that does not balance
  • Idempotent transfers - The wallet service dedupes internal transfers on transaction ID
  • RBAC - Granular permissions with role hierarchies
  • Real-time updates - Server-sent events through the gateway

Transfers do not reach the ledger: the transaction service's ledger client sends no credentials, so the ledger refuses the call. The failure is logged and the transfer still completes.

Documentation

Full documentation: nivomoney.com/docs

  • Quick Start
  • Architecture
  • API Flows
  • ADRs

Project Scope

Category Count
Services 8 + gateway
API Routes 111
Frontend Pages 23
Database Migrations 8

This is a portfolio demonstration, not a production bank. It shows how a neobank would be built.

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT - see LICENSE

About

Neobank demo: 8 Go services and a gateway, a double-entry ledger in Postgres, React apps. Archived showcase, runs locally.

nivomoney.1mb.dev

Topics

dockerdouble-entry-accountingfintech-appgolangjwt-authenticationmicroservices-architectureneobankingportfolio-projectpostgresqlreact

Resources

Readme
MIT license

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

4 stars

Watchers

0 watching

Forks

1 fork
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.