Rewrite README
This commit is contained in:
106
README.md
106
README.md
@@ -1,39 +1,99 @@
|
||||
# Luggage List
|
||||
|
||||
Minimal local-first luggage management app built with Expo.
|
||||
[](https://expo.dev/)
|
||||
[](https://reactnative.dev/)
|
||||
[](#data-and-backup)
|
||||
[](#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)
|
||||
- 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
|
||||
## Highlights
|
||||
|
||||
## 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.
|
||||
- JSON export/import is the current backup path.
|
||||
## Tech Stack
|
||||
|
||||
## 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
|
||||
npm install
|
||||
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
|
||||
npm run test
|
||||
```
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user