Go to file
Timo Knuth aa9bd3f0b6 Farb palette 2025-12-04 16:06:58 +01:00
.claude Farb palette 2025-12-04 16:06:58 +01:00
__tests__/lib/utils ueberpruefen 2025-10-28 23:38:37 +01:00
assets Farb palette 2025-12-04 16:06:58 +01:00
docs ueberpruefen 2025-10-28 23:38:37 +01:00
src Farb palette 2025-12-04 16:06:58 +01:00
.gitignore Initial commit 2025-10-15 14:28:24 +02:00
.npmrc ueberpruefen 2025-10-28 23:38:37 +01:00
App.tsx ueberpruefen 2025-10-28 23:38:37 +01:00
CHANGELOG.md ueberpruefen 2025-10-28 23:38:37 +01:00
IMPLEMENTATION_STATUS.md Farb palette 2025-12-04 16:06:58 +01:00
PRIVACY.md ueberpruefen 2025-10-28 23:38:37 +01:00
PROJECT_SUMMARY.md ueberpruefen 2025-10-28 23:38:37 +01:00
QUICKSTART.md ueberpruefen 2025-10-28 23:38:37 +01:00
README.md ueberpruefen 2025-10-28 23:38:37 +01:00
SECURITY.md ueberpruefen 2025-10-28 23:38:37 +01:00
app.json ueberpruefen 2025-10-28 23:38:37 +01:00
eas.json ueberpruefen 2025-10-28 23:38:37 +01:00
fehl.md Farb palette 2025-12-04 16:06:58 +01:00
index.ts Initial commit 2025-10-15 14:28:24 +02:00
jest.config.js ueberpruefen 2025-10-28 23:38:37 +01:00
jest.setup.js ueberpruefen 2025-10-28 23:38:37 +01:00
package-lock.json Farb palette 2025-12-04 16:06:58 +01:00
package.json Farb palette 2025-12-04 16:06:58 +01:00
tsconfig.json Initial commit 2025-10-15 14:28:24 +02:00

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, 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 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

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 🏺