From 4d462c60b10ce9d00028b26037d6acd77361859f Mon Sep 17 00:00:00 2001 From: Viktor Miller Date: Wed, 14 Jan 2026 18:39:06 +0900 Subject: [PATCH] docs: initialize ddhh-job-manager Closed job board for digital dabei Hamburg with provider self-registration, admin moderation, and mentor access. Creates PROJECT.md with requirements and constraints. Co-Authored-By: Claude Sonnet 4.5 --- .planning/PROJECT.md | 62 +++++++++++++++++++++++++++++++++++++++++++ .planning/config.json | 26 ++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 .planning/PROJECT.md create mode 100644 .planning/config.json diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md new file mode 100644 index 0000000..31fe491 --- /dev/null +++ b/.planning/PROJECT.md @@ -0,0 +1,62 @@ +# Digital Dabei Job Manager + +## What This Is + +A WordPress plugin providing a closed job board for "digital dabei Hamburg". External organizations (providers) self-register and manage job listings. Mentors (existing subscribers) view and apply to jobs. Admins moderate all job submissions before publication. + +## Core Value + +Every job goes through admin approval before mentors see it. The moderation flow is the trust layer that protects mentors from spam or inappropriate content. + +## Requirements + +### Validated + +(None yet — ship to validate) + +### Active + +- [ ] Custom Post Type `job_offer` with ACF fields (location, type, deadline, contact, logo) +- [ ] Custom role `ddhh_provider` with restricted capabilities +- [ ] Provider registration form (Formidable) with auto-login +- [ ] Job submission form → pending status → admin notification +- [ ] Provider dashboard: list, edit, deactivate own jobs +- [ ] Job deactivation workflow with reason capture +- [ ] Protected job archive (logged-in mentors only) +- [ ] Job detail page with apply button → popup form → email to provider +- [ ] Mentor opt-in notification system for new published jobs +- [ ] Admin notification on job submission and deactivation +- [ ] Async email processing via WP-Cron/Action Scheduler +- [ ] Logo auto-crop to 200x200px on upload + +### Out of Scope + +- Multi-language support — German only for v1 +- Provider analytics — no dashboards for application counts or views +- Advanced filtering/search — basic display only +- Public job listings — all content requires login + +## Context + +- **Environment:** Existing WordPress site with Elementor Pro theme +- **Existing users:** Mentors already exist as subscribers +- **Email:** WP Mail SMTP on production; disabled in Local WP dev +- **Design:** Must match existing Elementor templates and site style +- **Development:** Local WP environment + +## Constraints + +- **Tech stack:** ACF Pro, Formidable Forms Pro, Elementor Pro (required) +- **Compatibility:** Must integrate with existing WordPress user roles +- **Security:** Providers can only edit their own posts; no WP-Admin access + +## Key Decisions + +| Decision | Rationale | Outcome | +|----------|-----------|---------| +| Use Formidable for all forms | Already in stack, handles user reg + post submission | — Pending | +| Jobs start as `pending` | Admin moderation is core value | — Pending | +| Async email for mentor notifications | Prevent timeouts with many subscribers | — Pending | + +--- +*Last updated: 2026-01-14 after initialization* diff --git a/.planning/config.json b/.planning/config.json new file mode 100644 index 0000000..e252b38 --- /dev/null +++ b/.planning/config.json @@ -0,0 +1,26 @@ +{ + "mode": "yolo", + "depth": "standard", + "parallelization": { + "enabled": true, + "plan_level": true, + "task_level": false, + "skip_checkpoints": true, + "max_concurrent_agents": 3, + "min_plans_for_parallel": 2 + }, + "gates": { + "confirm_project": false, + "confirm_phases": false, + "confirm_roadmap": false, + "confirm_breakdown": false, + "confirm_plan": false, + "execute_next_plan": false, + "issues_review": false, + "confirm_transition": false + }, + "safety": { + "always_confirm_destructive": true, + "always_confirm_external_services": true + } +}