Web development
Project journal: where I'm headed
Phase 2 underway: project status and how I'll keep documenting it here.
1 min read
Where we are
The project is in phase 2 of 9. Quick recap of the journey so far:
- Phase 0 — Foundations. Development server with Docker (isolated containers): Next.js app + Payload —the content management system—, PostgreSQL, MinIO for media, Umami for analytics and Uptime Kuma for monitoring. Automatic daily backups.
- Phase 1 — Data model. The 16 content collections (agenda, getaways, news, interviews, tips, establishments, magazines, advertising...), migrations (controlled database changes), user roles, and sample data.
- Phase 2 — Frontend. Underway: design system (the visual components), home, article, agenda, getaways, establishments, interviews, tips, listings with filters, magazines with Calameo viewer, services page, and SEO (sitemap, robots, structured data). It comes from an Audit before touching anything and five compared proposals (From prototype to validated design).
The bumps along the way
Not everything has gone smoothly, and that's the most interesting part of the journal. Some recent battles:
- Docker Compose and environment variables: a healthcheck —the liveness probe— that read variables from the host instead of the container, Umami pointing to the wrong database... eight commits to clean it up.
- Calameo: the magazine viewer did a redirect and then blocked the iframe (embedded window; SAMEORIGIN: same domain only). Solution: canonical URL with the correct parameter.
- React hydration —JavaScript takes control of the page—: an
- TypeScript strict typing with Payload: queries adapted because the type system and the CMS didn't speak the same language.
And from here on
This journal will update itself: every workday there will be a new entry explaining what was done and what was solved. The idea is to have the project documented step by step, with the real problems included.