- Added type=raw,value=main to both API and Nginx image metadata
- This will create both SHA tags and :main tags for the default branch
- Fixes deployment timeout issues when pulling from GHCR
- Also added temporary deployment file using specific SHA
Missing target: production caused the API image to build the last
Dockerfile stage (nginx-frontend) instead of the Node.js server.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The runtime cp from etsy-tracker to a shared volume silently failed
because the nodejs user lacked write permissions on the root-owned volume.
Now a dedicated nginx-frontend Docker stage is built and pushed to GHCR
with the React client baked in, eliminating the volume-sharing approach.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Features:
- React + TypeScript frontend with Tailwind CSS
- Node.js + Express backend with TypeScript
- Comprehensive order tracking and management
- Product catalog with inventory tracking
- Customer data management
- Expense tracking and categorization
- Advanced Profit Analysis Dashboard with:
- Real-time profit metrics and KPI visualization
- Detailed order-level profit breakdown
- Product performance analysis
- Enhanced time range filtering (monthly, quarterly, yearly)
- Interactive expandable order analysis
- Performance categorization and color coding
- CSV import functionality for Etsy statements
- PDF parsing capabilities
- Redux state management with persistence
- Responsive design with mobile support
- Australian date formatting and currency display