Files
Trackeep/mobile
2026-04-10 12:06:01 +02:00
..
2026-04-10 12:06:01 +02:00
2026-04-10 12:06:01 +02:00
2026-04-10 12:06:01 +02:00
2026-04-10 12:06:01 +02:00
2026-04-10 12:06:01 +02:00
2026-04-10 12:06:01 +02:00
2026-04-10 12:06:01 +02:00
2026-04-10 12:06:01 +02:00
2026-04-10 12:06:01 +02:00

Trackeep Mobile (React Native)

Cross-platform mobile shell for Trackeep using React Native + Expo.

Architecture

  • Same UI as web: after login, the app renders your Trackeep web app (/app) inside a native WebView.
  • One backend, one data plane: mobile uses your self-hosted Trackeep instance URL and the same API/auth as web.
  • Mobile-native extras:
    • incoming phone share intent (links, YouTube URLs, text, files)
    • quick share panel to save bookmarks immediately
    • shared files upload directly to Trackeep Files

Implemented Features

  • Instance setup and validation (/health, /api/version)
  • Native login/register (/api/v1/auth/...) with secure token storage
  • Token bootstrap into WebView localStorage so web UI works immediately
  • Native/Web bridge for auth + route state sync
  • Android hardware back support for in-web navigation
  • External links open in system browser while Trackeep pages stay in-app
  • Mobile route shortcuts (Dashboard/Bookmarks/Tasks/Notes/Files/YouTube/Time)
  • Incoming share flow:
    • Save shared links/YouTube as bookmarks (POST /api/v1/bookmarks)
    • Smart link metadata enrichment (POST /api/v1/bookmarks/metadata)
    • YouTube-aware action: Save + Open YouTube
    • Upload shared files (POST /api/v1/files/upload)
    • Broader Android share MIME support (text/plain, text/uri-list, text/*, image/*, video/*, application/*)
  • Trackeep-branded mobile icon/splash copied from main project assets

Prerequisites

  • Node.js 18+
  • npm 10+
  • Reachable Trackeep backend

Run

From repository root:

npm install
npm --workspace mobile run typecheck
npm --workspace mobile run start

Important: Share Intent Requires Dev Client

Incoming share from other apps requires native code (expo-share-intent), so Expo Go is not enough. Use a dev client or production build:

npm --workspace mobile run prebuild:clean
npm --workspace mobile run android:run
# or
npm --workspace mobile run ios:run

npm --workspace mobile run start:dev-client

patch-package is already configured at repository root to apply the required xcode@3.0.1 patch during install.

Share Examples

  • Share a YouTube link from YouTube app → Trackeep Mobile appears in share sheet → Save to bookmarks.
  • Share a webpage URL from browser → Save to bookmarks.
  • Share an image/file from gallery/files app → Upload to Trackeep Files.

Instance URL examples

  • Production: https://trackeep.example.com
  • Android emulator local backend: http://10.0.2.2:8080
  • iOS simulator local backend: http://localhost:8080

Notes

  • Switching instance URL clears session intentionally (instance-isolated auth).
  • If the share extension is not detected in Expo Go, this is expected; use dev client or release build.