3.0 KiB
3.0 KiB
Tasks for Website Migration
Feature: Website Migration to Astro with Payload CMS
Branch: 001-users-pukpuk-dev
This document outlines the tasks required to complete the feature.
Phase 1: Project Setup
- T001: Initialize a new Astro project in the
frontenddirectory. - T002: Initialize a new Payload CMS project in the
backenddirectory. - T003: Install all necessary dependencies for both projects, including
better-auth,vitest, andplaywright. - T004: Configure linting and formatting for both projects.
Phase 2: Backend Development (Payload CMS)
- T005: [P] Create the
Userscollection in Payload CMS, as defined indata-model.md. - T006: [P] Create the
Blog Postscollection in Payload CMS, as defined indata-model.md. - T007: [P] Create the
Portfolio Itemscollection in Payload CMS, as defined indata-model.md. - T008: [P] Create the
Categoriescollection in Payload CMS, as defined indata-model.md. - T009: Configure role-based access control for
adminandeditorroles. - T010: Implement the authentication logic using
better-auth.
Phase 3: Frontend Development (Astro)
- T011: [P] Create the main layout for the website, including the header and footer.
- T012: [P] Create the blog listing page, fetching data from the Payload CMS.
- T013: [P] Create the individual blog post page.
- T014: [P] Create the portfolio listing page.
- T015: [P] Create the individual portfolio item page.
- T016: [P] Create the contact page with a functional contact form.
- T017: Implement the login page.
- T018: Implement protected routes for the
/adminsection.
Phase 4: Testing
- T019: [P] Write contract tests for the
/admin/loginendpoint. - T020: [P] Write contract tests for the
/contactendpoint. - T021: [P] Write integration tests for the user login flow.
- T022: [P] Write integration tests for the contact form submission.
- T023: [P] Write unit tests for the main Astro components.
Phase 5: Content Migration and Deployment
- T024: Write scripts to migrate content from the old site to the new Payload CMS.
- T025: Implement 301 redirects for all old URLs.
- T026: Configure the deployment pipeline to Cloudflare Pages.
- T027: Perform a final performance and accessibility audit using Google Lighthouse.
Parallel Execution Examples
The following tasks can be run in parallel:
# Backend collections
gemini execute --task T005 &
gemini execute --task T006 &
gemini execute --task T007 &
gemini execute --task T008 &
# Frontend pages
gemini execute --task T011 &
gemini execute --task T012 &
gemini execute --task T013 &
gemini execute --task T014 &
gemini execute --task T015 &
gemini execute --task T016 &
# Tests
gemini execute --task T019 &
gemini execute --task T020 &
gemini execute --task T021 &
gemini execute --task T022 &
gemini execute --task T023 &