Skip to content

jack-george-morries/jtrade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

J Trade

A React Native fintech demo app combining crypto trading and sports betting. Built to demonstrate staff-level frontend engineering for fintech interviews.

Features

  • Crypto Trading - Real-time price updates for BTC, ETH, SOL
  • Sports Betting - Live odds and match tracking
  • Demo Account - Start with $10,000 fake balance
  • Secure - Biometric auth, encrypted storage, auto-lock
  • Real-time - WebSocket-powered live updates
  • Offline Support - Queue actions when disconnected

Tech Stack

Layer Technology
Mobile Expo (managed workflow) + TypeScript
Navigation Expo Router (file-based)
State Zustand
Storage MMKV (encrypted) + Expo Secure Store
Auth expo-local-authentication (Face ID/Touch ID)
Lists @shopify/flash-list
Server Node.js + ws (separate repo)

Project Structure

jtrade-app/
├── app/                    # Expo Router screens
│   ├── (auth)/             # Auth flow screens
│   └── (tabs)/             # Main app tabs
├── components/             # Reusable UI components
├── constants/              # Theme, app config, messages
├── hooks/                  # Custom React hooks
├── services/               # WebSocket, biometrics, storage
├── store/                  # Zustand store
├── types/                  # TypeScript type definitions
└── utils/                  # Formatters, validators

Getting Started

# Install dependencies
yarn install

# Start development server
yarn start

# Run on iOS
yarn ios

# Run on Android
yarn android

Architecture Highlights

Type-Safe Betting System

The betting system uses discriminated unions for type-safe category handling:

// TypeScript automatically narrows the type
if (event.category === EventCategory.SPORTS) {
  event.homeTeam  // ✓ TypeScript knows this exists
}

Security Layers

  • Biometric authentication (Face ID / Touch ID)
  • 6-digit PIN fallback
  • Encrypted storage with hardware-backed keys
  • Auto-lock after inactivity
  • WSS (WebSocket Secure) connections only

Scalable Design

Built with extensibility in mind:

  • Betting system ready for casino/esports expansion
  • Crypto assets easily extendable
  • Component architecture supports new features

License

MIT

About

Real-time fintech demo app — Crypto trading & Sports betting with WebSocket, biometric auth, and offline support. Built with Expo + TypeScript.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors