How winnerolusola/trekka works
Trekka combines a Flutter client, a NestJS API, and Hedera-based services for a privacy-conscious peer-to-peer product. The principal evidenced runtime path is email OTP authentication and ride hailing: the client calls API endpoints, the API coordinates account and ride operations, and wallet operations can execute ride-contract transactions. The README also documents marketplace, recycling, quests, courier, and decentralized storage capabilities. Mobile and contract internals, and several API service implementations, are not present in the sampled source, so those branches use only supported package paths and documented links.
Main entry points: trekka-mobile Trekka Mobile · auth.service.ts Auth Coordination · wallets.service.ts Wallet Service · logistics.service.ts Hailing Service
Components 23
Client
- Trekka Mobile
packages/trekka-mobile
Identity
- Auth Endpoints
packages/trekka-api/src/auth/auth.controller.ts - Auth Coordination
packages/trekka-api/src/auth/auth.service.ts - OTP Service
packages/trekka-api/src/auth/otp.service.ts - Token Service
packages/trekka-api/src/auth/token.service.ts - User Service
packages/trekka-api/src/users/users.service.ts - Email Service
packages/trekka-api/src/email/email.service.ts - Postgres
API Product Services
- Hailing Endpoints
packages/trekka-api/src/logistics/logistics.controller.ts - Hailing Service
packages/trekka-api/src/logistics/logistics.service.ts - Wallet Endpoints
packages/trekka-api/src/wallets/wallets.controller.ts - Wallet Service
packages/trekka-api/src/wallets/wallets.service.ts - Key Encryption
packages/trekka-api/src/wallets/encryption.service.ts - Marketplace
packages/trekka-contracts - Recycling
packages/trekka-contracts - Quest Rewards
packages/trekka-contracts - Courier Delivery
packages/trekka-contracts
Hedera Platform
- Hedera Contracts
packages/trekka-contracts - Consensus Service
packages/trekka-api/src/hedera/consensus.service.ts - Hedera Network
- Mirror Nodes
- IPFS Storage
Other components
- Rider or Driver
Connections 30
- Rider or Driver → Trekka Mobile: uses
- Trekka Mobile → Auth Endpoints: requests auth
- Auth Endpoints → Auth Coordination: dispatches
- Auth Coordination → User Service: finds and updates
- Auth Coordination → OTP Service: creates and validates
- Auth Coordination → Token Service: generates and verifies
- Auth Coordination → Email Service: sends messages
- Auth Coordination → Wallet Service: ensures wallet
- User Service → Postgres: reads and writes
- Wallet Service → Postgres: reads and writes
- Wallet Service → Key Encryption: encrypts keys
- Trekka Mobile → Hailing Endpoints: requests rides
- Hailing Endpoints → Hailing Service: dispatches
- Trekka Mobile → Wallet Endpoints: requests wallet data
- Wallet Endpoints → Wallet Service: dispatches
- Wallet Service → Hedera Network: creates accounts and queries balances
- Wallet Service → Hedera Contracts: executes ride transactions
- Hedera Contracts → Hedera Network: executes on
- Hailing Service → Consensus Service: submits ride summaries
- Consensus Service → Hedera Network: submits topic messages
- Hedera Contracts → Mirror Nodes: emits events
- Hedera Network → Mirror Nodes: replicates messages
- Mirror Nodes → Hailing Service: streams events and transactions
- Trekka Mobile → IPFS Storage: uploads media
- IPFS Storage → Trekka Mobile: serves proofs
- IPFS Storage → Hailing Service: serves proof metadata
- Trekka Mobile → Marketplace: uses marketplace
- Trekka Mobile → Recycling: uses recycling
- Trekka Mobile → Quest Rewards: uses quests
- Trekka Mobile → Courier Delivery: uses courier