# 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 🏺