mobile
Collectra: Collection Tracker
Catalog collections, track value, tags, loans, and backups in one app.

Collection Tracker is an offline-first Flutter app for organizing personal collections (books, movies, games, and custom categories), with optional cloud sync and Firebase-powered observability.
Current State#
This repository is actively developed and already includes:
- Collection and item management (list/grid views, create/edit/delete)
- Tag system (assign tags, rename/merge/delete tags, bulk tag actions)
- Favorites and wishlist flows
- Item detail with price tracking and value history
- Statistics dashboard with valuation and distribution insights
- Import/export (JSON and CSV)
- Barcode scanner flow
- Localization support for 7 languages
- Custom design system and glass bottom navigation
- Firebase Crashlytics, Analytics (consent-based), Performance, Remote Config, App Check, FCM
- Optional backend auth and sync (feature-flag gated)
Tech Stack#
- Flutter + Dart (workspace/monorepo)
- Riverpod (with code generation)
- Drift (local database)
- GoRouter (navigation)
- Firebase (Core, Analytics, Crashlytics, Performance, Remote Config)
- Dio (backend/sync transport)
Workspace Layout#
apps/mobile/ Flutter app
packages/core/domain/ Domain contracts/entities
packages/core/data/ Repository implementations
packages/common/ui/ Shared design system components
packages/common/utils/ Shared utilities
packages/common/env/ Compile-time env access (Envied)
packages/integrations/* Database, analytics, auth session, backend API, sync API, etc.
documentation/ Project documentation hubQuick Start#
- Install dependencies:
dart pub get- Create API env file used by metadata integrations:
cat > packages/common/env/.env <<'ENV'
GOOGLE_BOOKS_API_KEY=...
TMDB_API_KEY=...
TMDB_READ_ACCESS_TOKEN=...
IGDB_CLIENT_ID=...
IGDB_CLIENT_SECRET=...
ENV- Materialize Firebase files (recommended, especially for CI/local parity):
./scripts/setup_firebase.sh --require dart- Generate code:
./scripts/build_all.sh- Run app:
cd apps/mobile
flutter runCloud Sync Flags (Important)#
Cloud Sync is enabled only when all required Remote Config flags are true:
app_backend_integration_enabledapp_auth_feature_enabledapp_sync_feature_enabled
If either is false, sync UI/actions are disabled.
License#
MIT.


