GodinoMawa Bank (GM)

A fully functional digital banking application with multi-currency support, KYC verification, and real-time transactions.

Features

  • User authentication (register/login)
  • KYC submission with live camera and document upload
  • Multi-currency wallets (USD, GBP, NGN, EUR)
  • View bank details for each currency
  • Send and receive funds between wallets
  • Currency exchange
  • Transaction limits
  • Transaction history
  • Live support chat and email system
  • Admin webhook simulation for incoming transactions

Project Structure

├── backend/
│   ├── database/
│   │   ├── migrations.ts    # Schema definitions
│   │   ├── queries.ts       # DB query functions
│   ├── routes/              # Route modules
│   │   ├── auth.ts          # Authentication routes
│   │   ├── kyc.ts           # KYC verification routes
│   │   ├── wallet.ts        # Wallet management routes
│   │   ├── transaction.ts   # Transaction routes
│   │   ├── support.ts       # Support chat routes
│   │   └── webhook.ts       # Webhook simulation
│   └── index.ts             # Main entry point
├── frontend/
│   ├── components/
│   │   ├── App.tsx
│   │   ├── auth/            # Authentication components
│   │   ├── kyc/             # KYC components
│   │   ├── wallet/          # Wallet components
│   │   ├── transaction/     # Transaction components
│   │   └── support/         # Support chat components
│   ├── pages/               # Page components
│   ├── favicon.svg
│   ├── index.html           # Main HTML template
│   ├── index.tsx            # Frontend JS entry point
│   └── style.css
└── shared/
    ├── types.ts             # Shared type definitions
    └── utils.ts             # Shared utility functions

Tech Stack

  • Backend: Hono (TypeScript)
  • Database: SQLite
  • Frontend: React, TailwindCSS
  • Authentication: JWT
  • Storage: Val Town blob storage

Getting Started

Access the application at the provided HTTP endpoint.