Kunthawat Greethong 7552b875e9 feat: Add full PDPA compliance with cookie consent and admin dashboard
Features implemented:
- Cookie consent banner (Accept/Reject) with localStorage storage
- Conditional Umami Analytics loading (only with consent)
- Admin dashboard at /admin/consent-logs with password protection
- API endpoints for consent logging (POST/GET/DELETE)
- Updated Privacy Policy with all 14 PDPA Section 36 requirements
- Updated Terms & Conditions with 17 comprehensive sections
- Astro DB integration with consent logging schema
- Production-ready Dockerfile with SQLite support
- Start command for Easypanel deployment

Files added:
- src/components/consent/CookieBanner.astro
- src/pages/api/consent/index.ts
- src/pages/api/consent/[sessionId]/index.ts
- src/pages/admin/consent-logs.astro
- db/schema.ts
- .env.example
- PDPA-COMPLIANCE.md

Files modified:
- src/layouts/Layout.astro (CookieBanner + conditional Umami)
- src/pages/privacy-policy.astro (full PDPA compliance)
- src/pages/terms-and-conditions.astro (comprehensive update)
- astro.config.mjs (Node adapter + DB)
- Dockerfile (production build with DB)
- package.json (dependencies + start script)

Deployment notes:
- CHANGE ADMIN_PASSWORD from default 'changeme'
- Run with: npm run start
- Docker: docker build -t moreminimore:latest .
2026-03-10 12:59:17 +07:00

Astro Starter Kit: Minimal

npm create astro@latest -- --template minimal

🧑‍🚀 Seasoned astronaut? Delete this file. Have fun!

🚀 Project Structure

Inside of your Astro project, you'll see the following folders and files:

/
├── public/
├── src/
│   └── pages/
│       └── index.astro
└── package.json

Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.

There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.

Any static assets, like images, can be placed in the public/ directory.

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
npm install Installs dependencies
npm run dev Starts local dev server at localhost:4321
npm run build Build your production site to ./dist/
npm run preview Preview your build locally, before deploying
npm run astro ... Run CLI commands like astro add, astro check
npm run astro -- --help Get help using the Astro CLI

👀 Want to learn more?

Feel free to check our documentation or jump into our Discord server.

Description
No description provided
Readme 34 MiB
Languages
Astro 95.6%
CSS 2%
TypeScript 1.6%
Shell 0.6%
Dockerfile 0.1%