9842a7a0e3
- PayloadCMS 3.64.0 + Next.js 15.4.7 + React 19.1.0 - PostgreSQL database configured - Plugins: form-builder, search, nested-docs, seo, redirects - Basic collections: Pages, Posts, Categories, Media, Users - Basic Header/Footer globals - Ready for Kit Digital grant enhancements
381 lines
11 KiB
Markdown
381 lines
11 KiB
Markdown
# OGB Solutions - Setup Guide from Daemez.solutions
|
|
|
|
## Context
|
|
|
|
This is Oscar Gimenez's **personal branding website** (OGB Solutions). It's built on PayloadCMS 3.64.0 (newer than Daemez 3.63.0) but needs enhancements copied from the **Daemez.solutions** project.
|
|
|
|
**Purpose:** Meet Kit Digital grant requirements for professional web presence.
|
|
|
|
---
|
|
|
|
## Grant Requirements (Kit Digital)
|
|
|
|
From screenshot: `/home/oscar/daemez.io/x/daemez.solutions/Screenshot 2025-11-16 183054.png`
|
|
|
|
### Mandatory for Grant Approval:
|
|
|
|
1. ✅ **Domain** - New domain registered (12 months) in beneficiary name
|
|
2. ✅ **Hosting** - Web hosting provided
|
|
3. ✅ **Minimum 3 pages/sections:**
|
|
- Landing page (homepage)
|
|
- Company/personal presentation
|
|
- Contact form
|
|
- Portfolio/services description
|
|
- Contact details
|
|
- Sitemap
|
|
4. ✅ **Responsive** - Works on all devices
|
|
5. ✅ **Accessibility** - WCAG 2.1 AA compliance
|
|
6. ✅ **Self-managed CMS** - PayloadCMS (autonomous content management)
|
|
7. ✅ **Basic SEO** - Keyword analysis, on-page SEO for 2+ pages
|
|
8. ✅ **Multilingual ready** - Prepared for translation (if needed)
|
|
9. ⚠️ **Training** - Basic usage documentation (create PDF)
|
|
10. ⚠️ **12-month maintenance** - Support/maintenance plan
|
|
11. ⚠️ **Support** - <24h response time (document process)
|
|
|
|
---
|
|
|
|
## Current State (OGB)
|
|
|
|
### What OGB Already Has:
|
|
- ✅ PayloadCMS 3.64.0 (1 version newer than Daemez)
|
|
- ✅ PostgreSQL database
|
|
- ✅ Next.js 15.4.7, React 19.1.0
|
|
- ✅ Basic collections: Pages, Posts, Categories, Media, Users
|
|
- ✅ Plugins: form-builder, nested-docs, search, seo, redirects (MORE than Daemez!)
|
|
- ✅ Basic Header/Footer (just navItems)
|
|
|
|
### What OGB Is Missing (vs Daemez):
|
|
- ❌ NO localization (English only)
|
|
- ❌ Basic Header (no CTA, announcement bar, top bar)
|
|
- ❌ Basic Footer (no social links, company info, newsletter)
|
|
- ❌ Minimal Categories (no description, color, order)
|
|
- ❌ No personal branding collections (Projects, Skills, Experience, Speaking)
|
|
- ❌ Posts not enhanced (no reading time, tags, featured, series)
|
|
|
|
---
|
|
|
|
## What to Copy from Daemez
|
|
|
|
### Location of Daemez Project:
|
|
```bash
|
|
/home/oscar/daemez.io/x/daemez.solutions
|
|
```
|
|
|
|
### Files to Copy/Adapt:
|
|
|
|
#### 1. Enhanced Header ✅ PRIORITY
|
|
**From:** `daemez.solutions/src/Header/config.ts`
|
|
**To:** `ogb-solutions/src/Header/config.ts`
|
|
|
|
**Changes needed:**
|
|
- Remove "top bar" section (not needed for personal site)
|
|
- Keep: CTA button, announcement bar
|
|
- Adapt CTA text: "Contactar" → "Get in Touch" / "Hire Me" / "Let's Talk"
|
|
|
|
#### 2. Enhanced Footer ✅ PRIORITY
|
|
**From:** `daemez.solutions/src/Footer/config.ts`
|
|
**To:** `ogb-solutions/src/Footer/config.ts`
|
|
|
|
**Changes needed:**
|
|
- Keep: socialLinks, newsletter section
|
|
- Remove: euFundingLogos (not needed for personal brand)
|
|
- Remove: partnerLogos relationship (no Partners collection yet)
|
|
- Keep: companyInfo but rename to personalInfo (name, email, phone, location)
|
|
|
|
#### 3. Enhanced Categories ✅ RECOMMENDED
|
|
**From:** `daemez.solutions/src/collections/Categories.ts`
|
|
**To:** `ogb-solutions/src/collections/Categories.ts`
|
|
|
|
**What it adds:**
|
|
- `description` (textarea, localized) - For category pages
|
|
- `color` (text) - Hex color for UI badges
|
|
- `order` (number) - Custom sort order
|
|
|
|
#### 4. Localization Config ⚠️ OPTIONAL (if grant requires multilingual)
|
|
**From:** `daemez.solutions/src/payload.config.ts` lines 31-48
|
|
**Add to:** `ogb-solutions/src/payload.config.ts`
|
|
|
|
```typescript
|
|
localization: {
|
|
locales: [
|
|
{ label: 'English', code: 'en' },
|
|
{ label: 'Español', code: 'es' },
|
|
{ label: 'Català', code: 'ca' },
|
|
],
|
|
defaultLocale: 'en',
|
|
fallback: true,
|
|
},
|
|
```
|
|
|
|
#### 5. RowLabel Component ✅ RECOMMENDED
|
|
**From:** `daemez.solutions/src/components/RowLabel.tsx`
|
|
**To:** `ogb-solutions/src/components/RowLabel.tsx`
|
|
|
|
**Purpose:** Better admin UX for array fields (shows title in collapsed rows)
|
|
|
|
#### 6. Search Plugin Enhancement ✅ RECOMMENDED
|
|
**From:** `daemez.solutions/src/plugins/index.ts` line 85
|
|
|
|
**Current OGB:**
|
|
```typescript
|
|
searchPlugin({
|
|
collections: ['posts'],
|
|
// ...
|
|
})
|
|
```
|
|
|
|
**Enhanced (add when you create new collections):**
|
|
```typescript
|
|
searchPlugin({
|
|
collections: ['posts', 'projects', 'speaking'], // Add your collections
|
|
// ...
|
|
})
|
|
```
|
|
|
|
---
|
|
|
|
## New Collections to Create (Personal Branding)
|
|
|
|
### Recommended Collections:
|
|
|
|
#### 1. Projects/Portfolio ✅ PRIORITY
|
|
**Purpose:** Showcase work, case studies, portfolio items
|
|
|
|
**Fields:**
|
|
- name (text, required)
|
|
- slug (auto)
|
|
- heroImage (upload)
|
|
- shortDescription (textarea, max 200 chars)
|
|
- description (richText)
|
|
- client (text) - optional, anonymize if needed
|
|
- year (number)
|
|
- techStack (array of text) - technologies used
|
|
- liveUrl (text)
|
|
- githubUrl (text)
|
|
- featured (checkbox)
|
|
- categories (relationship to categories)
|
|
- gallery (array of images)
|
|
- relatedProjects (relationship to projects)
|
|
- publishedAt (date)
|
|
- meta (SEO fields)
|
|
|
|
**Copy structure from:** `daemez.solutions/src/collections/Products.ts` (adapt for projects)
|
|
|
|
#### 2. Skills/Technologies ⚠️ OPTIONAL
|
|
**Purpose:** Tag/categorize expertise
|
|
|
|
**Fields:**
|
|
- name (text, required)
|
|
- slug (auto)
|
|
- category (select: programming, framework, tool, platform, soft-skill)
|
|
- proficiency (select: expert, advanced, intermediate, learning)
|
|
- yearsExperience (number)
|
|
- icon (text) - icon identifier or URL
|
|
- description (textarea)
|
|
- featured (checkbox)
|
|
- order (number)
|
|
|
|
#### 3. Experience/Timeline ⚠️ OPTIONAL
|
|
**Purpose:** Career history, work experience
|
|
|
|
**Fields:**
|
|
- company (text, required)
|
|
- position (text, required)
|
|
- startDate (date)
|
|
- endDate (date) - optional for current role
|
|
- current (checkbox)
|
|
- location (text)
|
|
- description (richText)
|
|
- companyLogo (upload)
|
|
- achievements (array of text)
|
|
- technologies (relationship to Skills)
|
|
- order (number)
|
|
|
|
#### 4. Speaking/Publications ⚠️ OPTIONAL
|
|
**Purpose:** Thought leadership, conferences, articles
|
|
|
|
**Fields:**
|
|
- title (text, required)
|
|
- slug (auto)
|
|
- type (select: conference, webinar, podcast, article, video)
|
|
- date (date)
|
|
- venue (text) - conference name, publication name
|
|
- description (richText)
|
|
- videoUrl (text)
|
|
- slidesUrl (text)
|
|
- articleUrl (text)
|
|
- featured (checkbox)
|
|
- publishedAt (date)
|
|
|
|
---
|
|
|
|
## 2-Day Launch Plan (Grant Compliance)
|
|
|
|
### Day 1 (4-6 hours):
|
|
1. ✅ Copy enhanced Header from Daemez (remove top bar)
|
|
2. ✅ Copy enhanced Footer from Daemez (remove EU logos)
|
|
3. ✅ Copy enhanced Categories from Daemez
|
|
4. ✅ Add localization config (optional)
|
|
5. ✅ Copy RowLabel component
|
|
6. ✅ Create Projects collection (minimum viable)
|
|
7. ✅ Test that admin loads
|
|
|
|
### Day 2 (4-6 hours):
|
|
1. ✅ Add content:
|
|
- Homepage (hero + intro)
|
|
- About page (bio + skills)
|
|
- 2-3 portfolio items (Projects)
|
|
- Contact info (Footer)
|
|
2. ✅ Configure Header (CTA button, navigation)
|
|
3. ✅ Test contact form
|
|
4. ✅ Run accessibility audit (Chrome DevTools)
|
|
5. ✅ Generate sitemap (automatic)
|
|
6. ✅ Deploy
|
|
|
|
**Total: 8-12 hours focused work**
|
|
|
|
---
|
|
|
|
## Quick Commands
|
|
|
|
```bash
|
|
# Navigate to OGB
|
|
cd /home/oscar/daemez.io/x/ogb-solutions
|
|
|
|
# Install dependencies (if needed)
|
|
pnpm install
|
|
|
|
# Start dev server
|
|
pnpm dev
|
|
|
|
# Access admin
|
|
# http://localhost:3000/admin
|
|
|
|
# Generate TypeScript types
|
|
pnpm generate:types
|
|
|
|
# Build for production
|
|
pnpm build
|
|
|
|
# Start production
|
|
pnpm start
|
|
```
|
|
|
|
---
|
|
|
|
## Key Differences: Daemez vs OGB
|
|
|
|
| Feature | Daemez (B2B Corporate) | OGB (Personal Brand) |
|
|
|---------|------------------------|----------------------|
|
|
| **Purpose** | Sell services/products | Showcase expertise, get hired |
|
|
| **Collections** | Services, Products, Integrations, CaseStudies | Projects, Skills, Experience, Speaking |
|
|
| **Tone** | Professional, corporate | Personal, approachable |
|
|
| **CTA** | "Request Demo", "Get Quote" | "Hire Me", "Let's Talk", "View Resume" |
|
|
| **EU Compliance** | MANDATORY (Kit Digital for company) | NOT NEEDED (personal grant) |
|
|
| **Pricing** | Hidden by default (partner strategy) | Not applicable |
|
|
| **Testimonials** | Client testimonials | Colleague/client recommendations |
|
|
|
|
---
|
|
|
|
## Plugin Status
|
|
|
|
### Already Configured in OGB:
|
|
- ✅ `@payloadcms/plugin-form-builder` - Contact forms
|
|
- ✅ `@payloadcms/plugin-search` - Site search (currently posts only)
|
|
- ✅ `@payloadcms/plugin-nested-docs` - Hierarchical categories
|
|
- ✅ `@payloadcms/plugin-seo` - Meta tags
|
|
- ✅ `@payloadcms/plugin-redirects` - URL management
|
|
|
|
### To Enhance:
|
|
- Update `searchPlugin` collections when you add Projects/Speaking
|
|
|
|
---
|
|
|
|
## Reference Files in Daemez
|
|
|
|
### Strategic Documents:
|
|
- `PLAN_CONTINUOUS.md` - 7-phase development roadmap, strategic decisions
|
|
- `PLAN_TO_COMPLETION.md` - Content guide, implementation notes
|
|
- `src/collections/README.md` - Collection documentation
|
|
|
|
### Collection Templates (adapt for OGB):
|
|
- `src/collections/Products.ts` → Use for Projects
|
|
- `src/collections/Services.ts` → Reference for structure
|
|
- `src/collections/CaseStudies.ts` → Reference for portfolio items
|
|
- `src/collections/Testimonials.ts` → Copy directly (for recommendations)
|
|
|
|
---
|
|
|
|
## Next Steps After Setup
|
|
|
|
1. **Fill minimal content** (grant compliance)
|
|
2. **Test accessibility** (WCAG 2.1 AA)
|
|
3. **Deploy to production**
|
|
4. **Submit to grant authority**
|
|
5. **Iterate and improve** (add more projects, blog posts, etc.)
|
|
|
|
---
|
|
|
|
## Git Repository
|
|
|
|
OGB has its own git repo at:
|
|
```bash
|
|
/home/oscar/daemez.io/x/ogb-solutions/.git
|
|
```
|
|
|
|
Create commits as you work:
|
|
```bash
|
|
git add .
|
|
git commit -m "Add enhanced Header/Footer from Daemez"
|
|
```
|
|
|
|
---
|
|
|
|
## Important Notes
|
|
|
|
1. **DON'T copy everything blindly** - Daemez is B2B corporate, OGB is personal
|
|
2. **Focus on grant requirements first** - Launch minimal, iterate later
|
|
3. **Reuse what works** - Header/Footer/Categories structure is universal
|
|
4. **Adapt the tone** - Less corporate, more personal
|
|
5. **Speed matters** - 2-day launch for grant, polish later
|
|
|
|
---
|
|
|
|
## Questions to Answer Before Starting
|
|
|
|
1. **Do you need multilingual?** (Grant says "if required by beneficiary")
|
|
2. **What's your primary CTA?** ("Hire Me", "View Resume", "Get in Touch"?)
|
|
3. **What projects to showcase?** (Pick 2-3 best ones for initial launch)
|
|
4. **Domain ready?** (Grant requires domain in your name for 12 months)
|
|
5. **Hosting ready?** (Where will you deploy?)
|
|
|
|
---
|
|
|
|
## Success Criteria (Grant Approval)
|
|
|
|
✅ **Minimum 3 pages** (Homepage, About, Contact)
|
|
✅ **Responsive design**
|
|
✅ **Contact form working**
|
|
✅ **Accessibility compliant** (WCAG 2.1 AA)
|
|
✅ **Self-managed CMS** (PayloadCMS admin working)
|
|
✅ **Basic SEO** (meta tags on 2+ pages)
|
|
✅ **Sitemap generated**
|
|
✅ **Domain registered** (12 months in your name)
|
|
✅ **Hosting active**
|
|
|
|
---
|
|
|
|
## Contact
|
|
|
|
If you need to reference the Daemez project, it's in the same parent directory:
|
|
|
|
```bash
|
|
Daemez: /home/oscar/daemez.io/x/daemez.solutions
|
|
OGB: /home/oscar/daemez.io/x/ogb-solutions
|
|
```
|
|
|
|
Both use the same development patterns, just different content strategies.
|
|
|
|
---
|
|
|
|
**Ready to launch OGB in 2 days! 🚀** |