Commit Graph

29 Commits

Author SHA1 Message Date
e9897388dc docs: separate documentation and specs into initial commit
Establish baseline for project documentation including BMAD specs, PRD, and system architecture notes.
2026-02-11 11:49:49 +08:00
8c87d71aa2 docs: update sprint-status and story files after Sprint 1 completion
- Mark Story 1-2-collections-definition as DONE (100%)
- Update all Sprint 1 split stories to Done status
- Epic 1 completed_stories: 0 → 2
- NFR4 (load testing): planned → done
- NFR9 (audit logging): planned → done

Implementation already committed in 7fd73e0
2026-01-31 17:34:41 +08:00
7fd73e0e3d Implement Sprint 1 stories: collections, RBAC, audit logging, load testing
Complete 6 Sprint 1 stories for Epic 1 web migration infrastructure.

Portfolio Collection:
- Add 7 fields: title, slug, url, image, description, websiteType, tags
- Configure R2 storage and authenticated access control

Categories Collection:
- Add nameEn, order, textColor, backgroundColor fields
- Add color picker UI configuration

Posts Collection:
- Add excerpt with 200 char limit and ogImage for social sharing
- Add showInFooter checkbox and status select (draft/review/published)

Role-Based Access Control:
- Add role field to Users collection (admin/editor)
- Create adminOnly and authenticated access functions
- Apply access rules to Portfolio, Categories, Posts, Users collections

Audit Logging System (NFR9):
- Create Audit collection with timestamps for 90-day retention
- Add auditLogger utility for login/logout/content change tracking
- Add auditChange and auditGlobalChange hooks to all collections and globals
- Add cleanupAuditLogs job with 90-day retention policy

Load Testing Framework (NFR4):
- Add k6 load testing with 3 scripts: public-browsing, admin-operations, api-performance
- Configure targets: p95 < 500ms, error rate < 1%, 100 concurrent users
- Add verification script and comprehensive documentation

Other Changes:
- Remove unused Form blocks
- Add Header/Footer audit hooks
- Regenerate Payload TypeScript types
2026-01-31 17:20:35 +08:00
0846318d6e Complete Story 1-1 and fix TypeScript issues
Add TypeScript strict mode and typecheck tasks to monorepo infrastructure.
Fix E2E test @payload-config alias and frontend TypeScript errors.

- Add tsconfig.json to backend with strict mode and path aliases
- Add typecheck task to Turborepo and all packages
- Fix @payload-config alias for E2E tests and dev server
- Add setToken method to AuthService for middleware use
- Fix implicit any types in Footer.astro and Header.astro
- Remove invalid typescript config from astro.config.mjs
2026-01-31 17:12:47 +08:00
d0e8c3bcff Add role-based access control with admin/editor roles
Create adminOnly and adminOrEditor access functions. Add role field
to Users collection (admin/editor, default: editor). Update access control
across all collections and globals to enforce role-based permissions.
2026-01-31 13:03:16 +08:00
2d3d144a66 Add Portfolio collection with 7 fields
Create Portfolio collection for managing website portfolio items.
Includes title, slug, url, image, description, websiteType, and
tags fields. Configured access control for authenticated create/
update/delete operations with public read access.
2026-01-31 12:54:36 +08:00
e632a9d010 Add type casting for RichText data props with DefaultTypedEditorState 2025-10-14 00:38:32 +08:00
296c1ae0e4 Add type definition for introContent in ArchiveBlock component 2025-10-14 00:25:16 +08:00
b2df353533 Add type casting for post content in RichText component 2025-10-14 00:13:53 +08:00
8f64e99a49 Remove shared Tailwind config from backend
Remove the shared Tailwind configuration import and content array
integration from the backend's Tailwind config.
2025-10-13 23:54:06 +08:00
fdde6d8020 update pnpm-lock 2025-10-13 17:20:37 +08:00
093da91b58 update pnpm-lock 2025-10-13 16:35:42 +08:00
2d2c32657f fix tailwind shared config 2025-10-13 16:22:11 +08:00
6702d524f0 update payload latest version 2025-10-13 16:11:04 +08:00
d0d94799a4 update component.tsx 2025-10-13 15:26:16 +08:00
4678e47a8b update r2 config for enchunCMS email adapter 2025-10-13 15:10:02 +08:00
65c27e3386 add cloudflare R2 config 2025-10-13 11:37:20 +08:00
pukpuk
8e8ff0bfc7 chore: fix gitignore pattern to exclude build artifacts
Update .gitignore to properly ignore dist directories at any level by
changing /dist to **/dist pattern. Also remove previously tracked
.astro/types.d.ts file which should not be in version control.

- Fix: Change /dist to **/dist to match nested dist directories
- Remove: apps/frontend/.astro/types.d.ts from tracking
- Ensures build artifacts are properly excluded across the project

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 16:18:37 +08:00
6b0cb56046 chore: remove .DS_Store files from version control
Remove macOS-generated .DS_Store files that should not be tracked.
These files are already excluded in .gitignore.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 01:06:10 +08:00
c2d4c8d0a0 chore(workflow): add AI-assisted workflow commands and configurations
Add comprehensive workflow commands for AI-assisted development:
- Claude commands: analyze, clarify, plan
- Kilocode workflows: full feature development lifecycle
- Opencode commands: specification and implementation workflows
- Roo MCP configuration for tool integration

Update .gitignore to exclude .astro build cache directories.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 01:06:10 +08:00
pukpuk
cf0f779ad4 feat: introduce spec-workflow and upgrade frontend dependencies
This commit introduces the spec-workflow, a set of templates for creating design, product, requirements, and other specification documents. These templates are added to both the root directory and the `apps/frontend` workspace.

Additionally, this commit upgrades the frontend development dependencies for the Astro application. The key changes include:
- Migration from `@astrojs/tailwind` to `@tailwindcss/vite` for Tailwind CSS integration.
- Deletion of the `postcss.config.cjs` file, as it is no longer needed with the new setup.
- Updates to `astro.config.mjs` to use the new Vite plugin for Tailwind CSS.
- General upgrade of Astro and other related dependencies in `apps/frontend/package.json` and the corresponding `pnpm-lock.yaml` file.
2025-10-06 12:35:06 +08:00
7f61b58880 feat: support nested footer links 2025-09-29 21:19:48 +08:00
36775a4a8d update 2025-09-25 11:46:11 +08:00
74677acf77 refactor: migrate to pnpm monorepo with Payload CMS backend and Astro frontend to support scalable website development and AI-assisted workflows 2025-09-25 03:36:26 +08:00
4efabd168c refactor: align plan and tasks with PRD, remove e-commerce scope 2025-09-22 16:53:47 +08:00
e7747c1c3e feat: regenerate tasks.md to align with corrected route structure 2025-09-22 16:49:16 +08:00
b297dedf2c feat: generate tasks.md for website migration 2025-09-20 15:09:27 +08:00
25c01d1418 feat: generate implementation plan and design artifacts 2025-09-19 18:09:18 +08:00
01a8fa90e8 Initial commit from Specify template 2025-09-19 01:06:11 +08:00