How inksidedigitalteknologi/royaltree works
Royaltree is an Android rewards and affiliate app: users sign in, earn RTP through check-ins, missions, ads, games, and steps, then manage referrals, balances, and withdrawals. The Android app combines screen navigation with local Room-backed domain state and API access; the backend exposes account and rewards operations backed by Firestore. README content only describes running the Android project, so product capabilities are inferred from the source tree and sampled API/backend excerpts. Some screen-to-data wiring is not shown and is intentionally omitted.
Main entry points: AffiliateRepository.kt Rewards repository · server.js HTTP server · ApiClient.kt API client · AdManager.kt Ad rewards
Components 28
Android app
- App entry
app/src/main/java/com/inkside/digital/MainActivity.kt - Sign-in flow
app/src/main/java/com/inkside/digital/ui/screens/auth
Rewards features
- Rewards screens
app/src/main/java/com/inkside/digital/ui/screens/HomeScreen.kt - Missions
app/src/main/java/com/inkside/digital/ui/screens/MissionsScreen.kt - Daily check-in
app/src/main/java/com/inkside/digital/ui/screens/DailyCheckInScreen.kt - Step rewards
app/src/main/java/com/inkside/digital/ui/screens/StepCounterScreen.kt - Game rewards
app/src/main/java/com/inkside/digital/ui/screens/GameRoomScreen.kt - Ad rewards
app/src/main/java/com/inkside/digital/data/ads/AdManager.kt - Affiliate features
app/src/main/java/com/inkside/digital/ui/screens/CampaignsScreen.kt - History and withdrawals
app/src/main/java/com/inkside/digital/ui/screens/WithdrawalScreen.kt - Analytics
app/src/main/java/com/inkside/digital/ui/screens/AnalyticsScreen.kt
Data services
- Firebase auth
app/src/main/java/com/inkside/digital/data/auth/AuthManager.kt - Account sync
app/src/main/java/com/inkside/digital/data/auth/AuthRepository.kt - Rewards repository
app/src/main/java/com/inkside/digital/data/repository/AffiliateRepository.kt - Room access
app/src/main/java/com/inkside/digital/data/dao/AppDao.kt - Local database
app/src/main/java/com/inkside/digital/data/database/AppDatabase.kt - Step sensor
app/src/main/java/com/inkside/digital/sensor/StepSensorHelper.kt - API client
app/src/main/java/com/inkside/digital/data/network/ApiClient.kt - API contract
app/src/main/java/com/inkside/digital/data/network/RoyaltreeApiService.kt
Backend
- HTTP server
backend/server.js - Auth endpoints
backend/routes/auth.js - Check-in endpoints
backend/routes/daily.js - Ad endpoints
backend/routes/ads.js - Admin endpoints
backend/routes/admin.js - Firestore
backend/config/firebase.js
Other components
- App user
- Firebase Auth
- AdMob
Connections 24
- App user → App entry: opens app
- App entry → Sign-in flow: shows auth
- Sign-in flow → Firebase auth: signs in
- Firebase auth → Firebase Auth: authenticates
- Account sync → API client: syncs account
- API client → API contract: uses API
- API contract → HTTP server: HTTP requests
- HTTP server → Firestore: reads and writes
- Ad rewards → AdMob: loads and shows
- Ad rewards → API client: submits reward
- Step rewards → Step sensor: reads steps
- Rewards repository → Room access: queries and updates
- Room access → Local database: reads and writes
- Rewards repository → API client: requests data
- Missions → Rewards repository: claims rewards
- Daily check-in → Rewards repository: claims check-in
- Game rewards → Rewards repository: manages game
- History and withdrawals → Rewards repository: manages balance
- Affiliate features → Rewards repository: manages campaigns
- Analytics → API client: loads summaries
- HTTP server → Auth endpoints: dispatches auth
- HTTP server → Check-in endpoints: dispatches check-in
- HTTP server → Ad endpoints: dispatches ads
- HTTP server → Admin endpoints: dispatches admin