Fixes enum conflict with Payload's internal _status field.
PostgreSQL was trying to create enum_projects_status twice with different values.
Changed:
- status → projectStatus
- Added explicit label 'Project Status' for clarity
- Updated docker-compose.yml to use postgres:17-alpine
- Database credentials: ogb/ogb_dev_password/ogb_web
- Updated .env.example with correct PostgreSQL connection string
- Fixed plugins/index.ts to include Project type in SEO generateTitle/generateURL
- Changed site title from 'Payload Website Template' to 'OGB Solutions'
- Database ready for dev server startup
Day 1 Phase 1 Complete: Core Infrastructure
✅ Enhanced Header:
- Added CTA button (enabled by default, personal CTA text)
- Added Announcement Bar (dismissible, with type variants)
- Organized in tabs for better UX
- Localized fields for multilingual support
✅ Enhanced Footer:
- Added Social Links (LinkedIn, Twitter, GitHub, YouTube, etc.)
- Added EU Funding Logos (MANDATORY for Kit Digital grant)
- Added Personal Info (name, professional title, location, email, phone)
- Added Newsletter section (optional)
- Organized in tabs for better UX
✅ Enhanced Categories:
- Added description field (localized, for SEO)
- Added color field (hex color for UI badges)
- Added order field (custom sort)
- Added type field (project/post/skill categories)
- Added icon field for visual identification
✅ Localization:
- Configured EN/ES/CA (English, Spanish, Catalan)
- Default locale: English
- Fallback enabled
✅ Projects Collection:
- Portfolio showcase collection
- Content: heroImage, short/full description, problem/solution/results
- Technical: techStack, highlights
- Media: gallery, liveUrl, githubUrl, videoUrl, caseStudyUrl
- Metadata: client, year, duration, role, teamSize
- Categories relationship (filtered to project categories)
- Related projects relationship
- SEO plugin integration
- Draft/publish workflow with schedule
- Featured flag for homepage display
✅ Plugins Updated:
- Search plugin: now includes 'projects' collection
- Redirects plugin: now includes 'projects' collection
✅ Shared Components:
- Created /components/RowLabel.tsx (generic, reusable)
✅ TypeScript Types:
- Generated payload-types.ts for all new fields
All changes adapted for personal branding (not B2B corporate).
Ready for testing and content creation.