- Install all dependencies including TypeScript for build
- Remove devDependencies after build to keep image small
- Fixes TypeScript missing error during Docker build
- Escape &, /, and \ characters in encryption key before sed
- Use | as delimiter instead of / to avoid conflicts
- Fixes 'unknown option to s' error on ZimaOS
- Auto-detect standalone docker-compose vs docker compose plugin
- Works on ZimaOS which uses docker compose (v2)
- Works on older systems with docker-compose (v1)
- Updated all script commands to use detected version
- Better error messages showing which version is being used
- Added fallback to /dev/urandom when openssl is not available
- Added multiple fallback methods for encryption key generation
- Scripts now work on minimal systems like ZimaOS
- Maintains security with urandom-based key generation
- Added clone and deploy method as primary option
- Noted that curl install only works for public repos
- Updated README.md with both installation methods
- Updated DEPLOYMENT.md with proper instructions
- Clone method works for both private and public repos
- Added test-persistence.sh script to verify Docker volume mounting
- Enhanced DEPLOYMENT.md with detailed data persistence documentation
- Updated deploy.sh to verify data directory mount on deployment
- Added data/README.md explaining data storage and backup
- Updated data/.gitignore to include README.md
- Documented what data persists and what doesn't
- Added backup strategies and troubleshooting tips
- Updated Dockerfile for local storage deployment (removed Firebase dependencies)
- Created docker-compose.yml with persistent data volumes
- Added deploy.sh script for automated deployment
- Created DEPLOYMENT.md with ZimaOS deployment guide
- Added .env.example for configuration template
- Updated .gitignore to protect sensitive data
- Fixed package.json to use port 7654 in production
- Cleared all test user data for fresh deployment
- Updated README with deployment section
- Add CSS variables for brand colors: Primary Blue (#1E73BE), Finance Green (#28A745), Cloud Blue (#A7D8F8), Dark Navy (#0F2C4C), Neutral Gray (#F4F4F4)
- Import Montserrat and Roboto fonts from Google Fonts
- Update navigation bar with brand colors (navy logo, blue active state, green Get Paid button)
- Update landing page hero section with brand color accents and button styling
- Update AuthModal, GetPaid, Settings, and DemoWizard components to use CSS variables
- Apply brand colors to info boxes and secondary UI elements
- Improve visual consistency across all app screens with cohesive color palette
- Remove Firebase dependency and all Firebase code
- Implement local file-based storage with encryption
- Create custom authentication system with password hashing
- Add API routes for auth (register/login) and data operations
- Create FileStorageService for server-side file I/O
- Add AuthService for client-side authentication wrapper
- Update all components to use new storage system
- Add comprehensive documentation (FILE_STORAGE.md, MIGRATION_SUMMARY.md)
- Improve security with AES-GCM encryption and SHA-256 password hashing
- Add ErrorBoundary component for better error handling
- Fix multiple bugs: date serialization, transaction deletion, envelope calculations