Rewrite README

This commit is contained in:
2026-04-19 11:48:05 +02:00
parent 25fa20fa49
commit 163f442338

106
README.md
View File

@@ -1,39 +1,99 @@
# Luggage List # Luggage List
Minimal local-first luggage management app built with Expo. [![Expo](https://img.shields.io/badge/Expo-54.0.33-000020?logo=expo&logoColor=white)](https://expo.dev/)
[![React Native](https://img.shields.io/badge/React%20Native-0.81-61dafb?logo=react&logoColor=white)](https://reactnative.dev/)
[![Local-first](https://img.shields.io/badge/Storage-Local--first-22c55e)](#data-and-backup)
[![Backup](https://img.shields.io/badge/Backup-JSON-8b5cf6)](#data-and-backup)
## What it does Luggage List is a local-first Expo app for keeping trips, luggage, and check-ups organized without a server, login, or cloud sync.
- No auth, no server, local storage only (AsyncStorage) ## Highlights
- Trips with name, location, start/end dates, optional image, and archive support
- Active trip auto-select on first load, with a global trip picker for manual switching
- Default trip template, copied into new trips
- Luggage items with:
- name, quantity, description, category
- status: packed, unpacked, lost, left-behind, lent-to
- placement: suitcase, backpack, with-user, other
- optional images, gallery pick, camera capture, crop, and quality settings
- Item create/edit via modal, with bulk and quick status updates
- Check-up flow as a yes/no checklist with live stats
- “No” opens an update modal
- fixes can stay check-up-only or sync back to the trip item list
- Check-up history per trip with saved snapshots and stats
- Backup and restore via JSON file or pasted JSON
## Notes - Trip planning with names, locations, dates, images, and archive support
- Global trip switching with sensible auto-selection on first launch
- Default trip template that gets copied into new trips
- Luggage items with quantity, description, category, status, placement, and optional photos
- Quick status edits plus full item editing in a modal
- Guided check-up flow with live stats and editable mismatches
- Check-up history per trip with saved snapshots
- JSON backup and restore, including file import/export and pasted JSON
- Dark-mode-first minimalist UI. ## Tech Stack
- JSON export/import is the current backup path.
## Run - Expo
- React Native
- AsyncStorage for local persistence
- expo-image-picker, expo-document-picker, expo-file-system, expo-sharing
- Vitest for tests
## Getting Started
```bash ```bash
npm install npm install
npm run start npm run start
``` ```
## Test ### Run on a platform
```bash
npm run android
npm run ios
npm run web
```
## Scripts
- `npm run start` , start the Expo dev server
- `npm run android` , open on Android
- `npm run ios` , open on iOS
- `npm run web` , run in the browser
- `npm run test` , run tests once
- `npm run test:watch` , run tests in watch mode
## Data and Backup
All data stays on-device in AsyncStorage.
Backup and restore is done through JSON, either by:
- exporting to a file
- importing a saved file
- pasting JSON directly into the app
## What You Can Track
### Trips
- Trip name
- Location
- Start and end dates
- Optional trip image
- Archive state
### Items
- Name and quantity
- Description and category
- Status: packed, unpacked, lost, left-behind, lent-to
- Placement: suitcase, backpack, with-user, other
- Optional item image
### Check-ups
- Yes / no checklist flow
- Live correct, bad, and pending counters
- Optional sync back into the trip item list
- Saved history per trip
## Notes
- Dark-mode-first UI
- No auth
- No backend
- No cloud sync
## Development
```bash ```bash
npm run test npm run test
``` ```