|
|
||
|---|---|---|
| .claude | ||
| __tests__/lib/utils | ||
| assets | ||
| docs | ||
| src | ||
| .gitignore | ||
| .npmrc | ||
| App.tsx | ||
| CHANGELOG.md | ||
| IMPLEMENTATION_STATUS.md | ||
| PRIVACY.md | ||
| PROJECT_SUMMARY.md | ||
| QUICKSTART.md | ||
| README.md | ||
| SECURITY.md | ||
| app.json | ||
| eas.json | ||
| fehl.md | ||
| index.ts | ||
| jest.config.js | ||
| jest.setup.js | ||
| nul | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||
| verbesserungen.md | ||
README.md
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
# 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
# Run unit tests
npm test
# Run tests in watch mode
npm run test:watch
Building for Production
# 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, statussteps: Process steps with type-specific fieldsfiring_fields: Cone, temperature, duration for firing stepsglazing_fields: Glaze selections, coats, application methodglazes: 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:
- All tests pass (
npm test) - TypeScript compiles without errors
- Code follows existing patterns
- 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 and 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 for details
Support
- Report issues: GitHub Issues
- Documentation: docs/
- PRD: 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 🏺