- Change STORAGE_PATH from /tmp to /app/photos
- Add photos_data volume to docker-compose.yml for persistence
- Add createUser controller with bcrypt password hashing
- Add POST /users route for employee creation
- Replace tech circuit icon with simple clean leaf silhouette
- Add favicon.png and link in index.html
- Install icon to all mipmap directories including ic_launcher_foreground
- Fix BatchStage enums: FLOWERING, VEGETATIVE, DRYING (not FLOWER/VEG/DRY)
- Fix login redirect from /dashboard to / (correct index route)
- Remove DevTools component from Layout.tsx and LoginPage.tsx
- Update HomePage branding from 'CA Grow Ops Manager' to 'Veridian'
- Add /api prefix to PDF and branding route registration in server.ts
- Remove /api prefix from individual route definitions
- Fixes routing issue where PDF endpoints were not accessible through nginx
Co-Authored-By: Claude <noreply@anthropic.com>
Remove file system operations that were causing permission errors
in the Docker container. Branding configs now stored in memory only.
Co-Authored-By: Claude <noreply@anthropic.com>
The tinypdf-plus package now includes pre-built dist files.
Removed bun installation and build step from Dockerfile.
Co-Authored-By: Claude <noreply@anthropic.com>
The tinypdf-plus build script uses 'bun' directly without a full
path. Adding /root/.bun/bin to PATH so the build script can find
the bun binary.
Co-Authored-By: Claude <noreply@anthropic.com>
tinypdf-plus uses bun for its build process. Installing bun
in the builder container so the package can be built.
Co-Authored-By: Claude <noreply@anthropic.com>
The Docker build cache was preventing postinstall from running.
Added explicit build step after npm install to ensure tinypdf-plus
dist folder is generated.
Co-Authored-By: Claude <noreply@anthropic.com>
Backend changes:
- Add tinypdf-plus dependency for TTF/OTF font support
- Create PDF service with text, certificate, and label generation
- Add PDF API endpoints (/api/pdf/*)
- Add branding service for custom fonts and styling
- Add branding API endpoints (/api/branding/*)
- Add font registration endpoint for custom fonts
Frontend changes:
- Add PDF library with download utilities
- Add PDFDownloadButton component for reusable PDF downloads
- Add branding API client for managing branding configs
- Update ReportsPage with PDF generation tab
Co-Authored-By: Claude <noreply@anthropic.com>
- Add Capacitor core, CLI, and Android platform
- Install plugins: camera, push-notifications, splash-screen, status-bar
- Configure capacitor.config.ts with app ID run.runfoo.veridian
- Update vite.config.ts with base: './' for Capacitor compatibility
- Update api.ts and SessionTimeoutWarning.tsx to detect Capacitor and use production API URL
- Generate Android project structure with Gradle build files