- Change application port from 3000 to 80
- Match Caddy's upstream proxy configuration
- Update healthcheck to use port 80
- Fix 502 gateway errors
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Install curl for health check compatibility
- Add built-in Docker healthcheck with proper timing
- Include start-period to allow server to initialize
- Fix Coolify deployment issues with health checks
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Replace Nginx with serve package for SPA compatibility
- Use port 3000 to match Coolify's default configuration
- Works better with Coolify's Caddy reverse proxy setup
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add environment variable support for Supabase and Pakasir configurations
- Create Docker configuration with Nginx for production deployment
- Add .env.example with all required environment variables
- Remove hardcoded URLs from Supabase client and Checkout component
- Add Docker and Nginx configuration files for Coolify deployment
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Align all review-related components to use profiles.name instead of profiles.full_name
- Update AdminReviews, TestimonialsSection, ProductReviews to fetch and display name via name field
- Adjust related admin member and consultant views to reference name
- Update MemberProfile editing flow placeholders to reflect name field
- Ensure public reviews still render with approved reviews only and inline summaries where applicable
X-Lovable-Edit-ID: edt-81d7dcc8-ea28-4072-9da0-5a7d623fb1ed
Implement an experience-centric review system:
- Add review modal/form and integrate with consulting, webinar, bootcamp flows
- Enable consultants to submit one review per slot after completion
- Extend reviews data model (order_id, type, etc.) with RLS coverage
- Admin reviews page wrapped in AppLayout with proper fetch and moderation
- Webinar/bootcamp prompts added inline on respective pages
- UI components for reviews reused across sections
- Add reusable ReviewModal and ConsultingHistory wiring
- Ensure only approved reviews display publicly
X-Lovable-Edit-ID: edt-26eb5d98-1267-4188-94f9-5a81716f484a
- Fix: skip bucket creation when content already exists; add logic to handle existing bucket gracefully.
- Debug: investigate and resolve member order detail data fetch error; ensure proper data mapping and navigation.
- Add WhatsApp integration prompts, reviews system scaffolding, and frontend wiring for branding-driven content.
- Implement image handling improvements in RichTextEditor and ensure HTML rendering in descriptions.
- Enable ElasticEmail adapter and multi-provider email flow, plus daily/reminder capabilities.
X-Lovable-Edit-ID: edt-b568a0fb-5175-44a5-a6d0-52e2c9936894
Implement frontend features for LMS gaps, branding, and admin consulting, plus enhancements to rich text and member order detail. This includes Google Meet webhook frontend stub, ElasticEmail adapter, HTML in descriptions, improved navigation, and improved UI/UX for consulting management and notifications.
X-Lovable-Edit-ID: edt-5031906b-9c9f-4b2f-8526-fe8a75340c65
Improve RichTextEditor to upload images to storage with optional base64 fallback, add image size controls, fix order detail navigation, and implement frontend hooks for branding and admin tasks. Also address member order detail routing issue and prep for Google Meet/ElasticEmail integration.
X-Lovable-Edit-ID: edt-a7826be1-5123-430e-a6f9-a3d1aa3f13de
- Allow HTML in Akses description and product descriptions
- Fix member order detail page so clicking shows details (adjust navigation approach)
- Review undo status against provided task list and gaps
X-Lovable-Edit-ID: edt-5b53d6da-64ae-4165-a4e2-12eaaef938a6
Implement Google Meet integration, reminders, HTML in descriptions, admin order detail, fix test email, add homepage branding settings, wire branding to frontend, and ensure all settings wired. Also add admin branding homepage tab, and routing/frontend updates.
X-Lovable-Edit-ID: edt-7e1950f8-765a-4f0e-8ae7-12854ef4d2f7
Implement Admin Consulting page route, show consulting card in products, and improve booking and UI flows; also add SMTP test wiring and UI tweaks.
X-Lovable-Edit-ID: edt-9a81e0ca-e632-4849-ba9a-e24ffa3206ac
- Add tabbed Pengaturan layout with Jam Kerja, Notifikasi, Konsultasi; placeholders for Branding and Integrasi
- Implement Notifikasi: SMTP settings table and templates UI with sample fields and test actions
- Move Konsultasi to settings with blocks and categories; groundwork for slot-based booking
- Wire consulting bookings flow and Google Meet placeholder; extend Pakasir webhook for consulting slots
- Add RLS policies scaffolding for new tables and branding/integration fields
- Prepare branding fields in platform_settings and integrate branding into UI
- Enable email/webhook toggling semantics and placeholder for email provider wiring
Env changes and notes:
- Requires notification_settings, notification_templates, consulting_settings, consulting_slots tables
- Adds branding and integration keys to platform_settings
- Adds Google Meet integration and ical/Meet placeholders
- Webhook enhancements and placeholder for SMTP/email sending logic
X-Lovable-Edit-ID: edt-c143f191-1012-47a4-b592-c55bb7e83319
Enhance admin Settings with tabbed UI (Jam Kerja, Notifikasi, Konsultasi), add Notifikasi templates & SMTP settings scaffolding, and implement consulting configuration plus slot-based flow scaffolds for future integration. Includes groundwork for Google Meet placeholder and calendar integration notes.
X-Lovable-Edit-ID: edt-190c1420-2c8f-4b36-86e0-c38d4735a483
- Add Supabase edge function pakasir-webhook to process webhook, update orders, grant access, and log a placeholder email notification
- Wire webhook URL placeholder to use edge URL from env with default
- Update Checkout flow to use webhook-enabled callback and include simple email placeholder in function
X-Lovable-Edit-ID: edt-7ccbe571-34d0-4835-9642-d54fe961cd08
Add env-based Pakasir API key with fallback, create orders + transaction via Pakasir, and update checkout UI to reflect payment status and access flow. Centralize key retrieval, include placeholder callback URL, and adjust UI to show processing state and Indonesian messaging. Enable client-side access checks for paid orders in product detail and member dashboard (without edge function).
X-Lovable-Edit-ID: edt-14f89c00-5022-4166-bb29-df4832b81add
Add bootcamp_modules, bootcamp_lessons, and lesson_progress tables with RLS policies; extend product handling to support bootcamp type; implement bootcamp frontend scaffolding (new pages/components) and admin curriculum editing hooks; adjust dashboard and product detail to reflect bootcamp flows; wire to existing Supabase client.
X-Lovable-Edit-ID: edt-8cbb7944-bee6-48e1-8d52-b9b72d2060ed