45 lines
1.2 KiB
Markdown
45 lines
1.2 KiB
Markdown
# car64
|
|
|
|
car64 is a Flutter + Supabase die-cast collector app with a fast scanning workflow, private photo storage, collaborative collections, and community-based catalog validation.
|
|
|
|
## Core Features
|
|
|
|
- Lightning add flow with barcode/OCR scanning and active collection selection.
|
|
- Global catalog (`global_cars`) + personal entries (`hotwheels`) architecture.
|
|
- Private storage (`car-images`) with signed URL rendering for collection members.
|
|
- In-app photo compression pipeline (target max 1080px and <500 KB uploads).
|
|
- Collaborative garages via `collections` + `collection_members`.
|
|
- Community validation with `car_votes`, `confirmation_count`, and verification state.
|
|
|
|
## Local Development
|
|
|
|
1. Install Flutter (stable) and run `flutter doctor`.
|
|
2. Configure Supabase values via build-time variables (`--dart-define`) — required (no fallback is embedded), for example:
|
|
|
|
```bash
|
|
flutter run \
|
|
--dart-define=SUPABASE_URL=https://your-project.supabase.co \
|
|
--dart-define=SUPABASE_ANON_KEY=your_anon_key \
|
|
--dart-define=SUPABASE_USE_PKCE=true
|
|
```
|
|
3. Install dependencies:
|
|
|
|
```bash
|
|
flutter pub get
|
|
```
|
|
|
|
4. Run the app:
|
|
|
|
```bash
|
|
flutter run
|
|
```
|
|
|
|
## Quality Check
|
|
|
|
```bash
|
|
flutter analyze
|
|
```
|
|
|
|
## Reference
|
|
|
|
- Product and backend requirements: `TPB.md`
|