refactor: migrate to pnpm monorepo with Payload CMS backend and Astro frontend to support scalable website development and AI-assisted workflows

This commit is contained in:
2025-09-25 03:36:26 +08:00
parent 4efabd168c
commit 74677acf77
243 changed files with 28435 additions and 102 deletions

View File

@@ -9,20 +9,20 @@ This task list is aligned with the official `PRD.md` and excludes all e-commerce
## Phase 1: Workspace & Project Setup
- **T001**: Initialize a pnpm monorepo with `pnpm-workspace.yaml`.
- **T002**: Create `frontend/`, `backend/`, and `packages/shared/` directories.
- **T003**: Initialize the Astro project in `frontend/` configured for SSR (Server-Side Rendering).
- **T004**: Initialize the Payload CMS project in `backend/` configured for Cloudflare Workers.
- **T005**: Configure Tailwind CSS in the `packages/shared/` directory to be used by the `frontend` app.
- **T006**: Install all necessary dependencies across the workspace.
- [X] **T001**: Initialize a pnpm monorepo with `pnpm-workspace.yaml`.
- [X] **T002**: Create `frontend/`, `backend/`, and `packages/shared/` directories.
- [X] **T003**: Initialize the Astro project in `frontend/` configured for SSR (Server-Side Rendering).
- [X] **T004**: Initialize the Payload CMS project in `backend/` configured for Cloudflare Workers.
- [X] **T005**: Configure Tailwind CSS in the `packages/shared/` directory to be used by the `frontend` app.
- [X] **T006**: Install all necessary dependencies across the workspace.
## Phase 2: Backend Development (Payload CMS)
- **T007**: **[P]** Create the `Users` collection in Payload CMS with `admin` and `editor` roles.
- **T008**: **[P]** Create the `BlogPosts` collection in Payload CMS.
- **T009**: **[P]** Create the `PortfolioItems` collection in Payload CMS.
- **T010**: **[P]** Create the `Categories` collection in Payload CMS.
- **T011**: Configure Payload to use Auth.js for authentication.
- [X] **T007**: **[P]** Create the `Users` collection in Payload CMS with `admin` and `editor` roles.
- [X] **T008**: **[P]** Create the `BlogPosts` collection in Payload CMS.
- [X] **T009**: **[P]** Create the `PortfolioItems` collection in Payload CMS.
- [X] **T010**: **[P]** Create the `Categories` collection in Payload CMS.
- [X] **T011**: Configure Payload to use Auth.js for authentication.
## Phase 3: Frontend Development (Astro)