ueberpruefen
This commit is contained in:
191
README.md
Normal file
191
README.md
Normal file
@@ -0,0 +1,191 @@
|
||||
# Pottery Diary (US Edition)
|
||||
|
||||
> Track every step of your ceramics journey from clay to finished piece
|
||||
|
||||
A mobile-first diary app for pottery and ceramics makers, designed specifically for the US market with Fahrenheit temperatures, Orton cone numbers, and imperial units.
|
||||
|
||||
## Features
|
||||
|
||||
### Core Functionality
|
||||
- **Project Management**: Create and organize pottery projects with photos, tags, and status tracking
|
||||
- **Process Steps**: Log every stage from forming to final firing
|
||||
- Forming, Drying, Bisque Firing, Glazing, Glaze Firing, and Misc steps
|
||||
- **Firing Details**: Record cone numbers (04, 6, 10, etc.) with auto-suggested temperatures
|
||||
- **Glaze Tracking**: Catalog of popular US glazes (Amaco, Mayco, Spectrum, Coyote, etc.)
|
||||
- Add custom glazes
|
||||
- Track coats, application methods, and combinations
|
||||
- **Photo Documentation**: Attach multiple photos to any step
|
||||
- **Notes**: Markdown-supported notes for detailed record keeping
|
||||
|
||||
### US-Specific
|
||||
- Temperature in Fahrenheit (°F) with optional Celsius toggle
|
||||
- Orton cone numbers (022 through 14)
|
||||
- Imperial units (lb/oz, in) with metric toggle
|
||||
- US-English copy and localization
|
||||
|
||||
### Technical
|
||||
- **Offline-First**: All data stored locally in SQLite
|
||||
- **Privacy-Focused**: No account required, analytics opt-in only
|
||||
- **Accessible**: VoiceOver/TalkBack support, Dynamic Type, high contrast
|
||||
- **Cross-Platform**: iOS 15+ and Android 8+
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
- Node.js 18+ and npm
|
||||
- Expo CLI (`npm install -g expo-cli`)
|
||||
- iOS Simulator (Mac) or Android Emulator
|
||||
|
||||
### Installation
|
||||
|
||||
```bash
|
||||
# Clone the repository
|
||||
cd pottery-diary
|
||||
|
||||
# Install dependencies
|
||||
npm install
|
||||
|
||||
# Start the development server
|
||||
npm start
|
||||
|
||||
# Run on iOS
|
||||
npm run ios
|
||||
|
||||
# Run on Android
|
||||
npm run android
|
||||
```
|
||||
|
||||
### Running Tests
|
||||
|
||||
```bash
|
||||
# Run unit tests
|
||||
npm test
|
||||
|
||||
# Run tests in watch mode
|
||||
npm run test:watch
|
||||
```
|
||||
|
||||
### Building for Production
|
||||
|
||||
```bash
|
||||
# Install EAS CLI
|
||||
npm install -g eas-cli
|
||||
|
||||
# Login to Expo
|
||||
eas login
|
||||
|
||||
# Configure the project
|
||||
eas build:configure
|
||||
|
||||
# Build for iOS
|
||||
eas build --platform ios
|
||||
|
||||
# Build for Android
|
||||
eas build --platform android
|
||||
```
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
pottery-diary/
|
||||
├── src/
|
||||
│ ├── components/ # Reusable UI components
|
||||
│ ├── features/ # Feature-specific code (future expansion)
|
||||
│ ├── lib/
|
||||
│ │ ├── db/ # SQLite database and repositories
|
||||
│ │ ├── utils/ # Utility functions (conversions, cone converter)
|
||||
│ │ ├── analytics/ # Privacy-first analytics abstraction
|
||||
│ │ └── theme/ # Design tokens and styling
|
||||
│ ├── navigation/ # React Navigation setup
|
||||
│ ├── screens/ # Screen components
|
||||
│ └── types/ # TypeScript type definitions
|
||||
├── assets/
|
||||
│ └── seed/ # Seed data (glaze catalog)
|
||||
├── __tests__/ # Unit tests
|
||||
└── docs/ # Documentation
|
||||
```
|
||||
|
||||
## Technology Stack
|
||||
|
||||
- **Framework**: React Native (Expo SDK 54)
|
||||
- **Language**: TypeScript
|
||||
- **Database**: SQLite (expo-sqlite)
|
||||
- **Navigation**: React Navigation v7
|
||||
- **State**: React hooks (no external state management)
|
||||
- **Testing**: Jest + React Native Testing Library
|
||||
- **Build**: EAS Build
|
||||
|
||||
## Database Schema
|
||||
|
||||
### Key Tables
|
||||
- `projects`: Project metadata, tags, status
|
||||
- `steps`: Process steps with type-specific fields
|
||||
- `firing_fields`: Cone, temperature, duration for firing steps
|
||||
- `glazing_fields`: Glaze selections, coats, application method
|
||||
- `glazes`: Catalog of glazes (seed + custom)
|
||||
- `settings`: User preferences (units, analytics opt-in)
|
||||
|
||||
## Contributing
|
||||
|
||||
This is a reference implementation for the PRD. Contributions welcome for:
|
||||
- Additional glaze catalog entries
|
||||
- Bug fixes and performance improvements
|
||||
- Accessibility enhancements
|
||||
- Localization for other regions
|
||||
|
||||
Please ensure:
|
||||
1. All tests pass (`npm test`)
|
||||
2. TypeScript compiles without errors
|
||||
3. Code follows existing patterns
|
||||
4. Accessibility labels are present
|
||||
|
||||
## Privacy & Security
|
||||
|
||||
- **No Account Required**: All data stored locally on device
|
||||
- **Analytics Opt-In**: Disabled by default
|
||||
- **No Third-Party Tracking**: No ads, no data selling
|
||||
- **CCPA Compliant**: Data stays on your device
|
||||
- **Open Source**: Code is transparent and auditable
|
||||
|
||||
See [SECURITY.md](./SECURITY.md) and [PRIVACY.md](./PRIVACY.md) for details.
|
||||
|
||||
## Roadmap
|
||||
|
||||
### v1.0 (Current)
|
||||
- ✅ Project and step management
|
||||
- ✅ Cone-based firing tracking
|
||||
- ✅ Glaze catalog and custom glazes
|
||||
- ✅ Photo attachments
|
||||
- ✅ Settings and unit preferences
|
||||
|
||||
### v1.1 (Planned)
|
||||
- [ ] Project export (Markdown + ZIP)
|
||||
- [ ] Search and filtering
|
||||
- [ ] iCloud/Google Drive backup
|
||||
- [ ] Reminders for next steps
|
||||
|
||||
### v1.2 (Future)
|
||||
- [ ] PDF export for projects
|
||||
- [ ] Template projects (duplicate)
|
||||
- [ ] Expanded glaze catalog
|
||||
- [ ] Tips & news feed integration
|
||||
|
||||
## License
|
||||
|
||||
MIT License - see [LICENSE](./LICENSE) for details
|
||||
|
||||
## Support
|
||||
|
||||
- Report issues: [GitHub Issues](https://github.com/yourusername/pottery-diary/issues)
|
||||
- Documentation: [docs/](./docs/)
|
||||
- PRD: [docs/PRD.md](./docs/PRD.md)
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
- Glaze data sourced from manufacturer specifications
|
||||
- Orton cone temperature chart based on standard firing rates
|
||||
- Designed for US ceramics community
|
||||
|
||||
---
|
||||
|
||||
Made with care for makers 🏺
|
||||
Reference in New Issue
Block a user