Skip to Content
Mobile AppOverview

Mobile Application

The BattlesBit mobile app is the primary user-facing application where players join trading challenges, compete, and win rewards.

Platforms

PlatformTechnology
iOSCapacitor
AndroidCapacitor
WebVite + React

Tech Stack

TechnologyPurpose
React 19UI Framework
Ionic ReactMobile UI components
Capacitor 6Native bridge
MUI 6Material components
URQLGraphQL client
ZustandState management
React Hook FormForm handling
Lightweight ChartsTrading charts
GSAPAnimations
ViteBuild tool
StorybookComponent development
VitestUnit testing

Features

  • User authentication (email OTP)
  • Challenge browsing and joining
  • Real-time trading interface
  • Live PnL tracking
  • Wallet management (deposit/withdraw)
  • Achievement system
  • Leaderboard
  • User profiles
  • Store for items
  • Referral system

Project Structure

public/ ├── src/ │ ├── App.tsx # App entry │ ├── components/ │ │ ├── pages/ # Screen components │ │ ├── organisms/ # Complex components │ │ ├── molecules/ # Composite components │ │ └── atoms/ # Base components │ ├── config/ │ │ ├── routes/ # Route definitions │ │ ├── theme/ # MUI theming │ │ ├── zustand/ # State stores │ │ └── urql-client/ # GraphQL client │ ├── gql-codegen/ # Generated GraphQL types │ │ ├── queries/ # GraphQL queries │ │ └── mutations/ # GraphQL mutations │ ├── providers/ # React context providers │ └── types/ # TypeScript types ├── android/ # Android native project ├── ios/ # iOS native project ├── .storybook/ # Storybook config └── public/ # Static assets

Screens

ScreenDescription
HomeDashboard with challenges
ChallengesChallenge list
ChallengeDetailChallenge info & join
MakeMatchMatchmaking lobby
MatchLoadingWaiting for match
LiveChallengeActive trading screen
ChallengeFactsPost-match results
ProfileUser profile
WalletBalance & transactions
DepositDeposit funds
WithdrawWithdraw funds
StoreItem shop
AchievementsAchievement list
LeaderboardGlobal rankings
FriendsFriend list
ReferralReferral program

Running Locally

Web

cd public yarn install yarn dev

Android

yarn dev:android

iOS

yarn dev:ios

Environment Variables

VITE_GRAPHQL_URI=http://localhost:8080/graphql VITE_GRAPHQL_WS_URI=ws://localhost:8080/graphql

Current Progress

Overall: ~60%

See Feature Tracking for details.

Last updated on