From a578dd5a3007756f17fe3be79b2dce3288f214b0 Mon Sep 17 00:00:00 2001 From: Kunthawat Greethong Date: Tue, 3 Mar 2026 21:18:55 +0700 Subject: [PATCH] Initial commit: MoreminiMore redesign with Astro --- .gitignore | 24 + .vscode/extensions.json | 4 + .vscode/launch.json | 11 + CHECKLIST.md | 155 + CONTENT-GUIDE.md | 204 + DEPLOYMENT.md | 144 + Dockerfile | 14 + README.md | 43 + astro.config.mjs | 11 + package-lock.json | 6048 +++++++++++++++++ package.json | 16 + public/branding/apple-touch-icon.png | Bin 0 -> 3957 bytes public/branding/branding.json | 91 + public/branding/favicon-192.png | Bin 0 -> 4192 bytes public/branding/favicon-32.png | Bin 0 -> 687 bytes public/branding/logo-long-black.png | Bin 0 -> 28332 bytes public/branding/logo-long.png | Bin 0 -> 28211 bytes public/favicon.ico | Bin 0 -> 655 bytes public/favicon.svg | 9 + src/layouts/Layout.astro | 203 + src/pages/about-us.astro | 87 + src/pages/app-development.astro | 73 + src/pages/category/seo.astro | 100 + src/pages/chatbot-consult.astro | 73 + src/pages/contact-us.astro | 84 + .../digital-transformation-consult.astro | 73 + src/pages/index.astro | 169 + src/pages/online-marketing-consult.astro | 73 + src/pages/privacy-policy.astro | 51 + src/pages/terms-and-conditions.astro | 49 + src/pages/website-development.astro | 73 + src/styles/global.css | 35 + tsconfig.json | 5 + 33 files changed, 7922 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 CHECKLIST.md create mode 100644 CONTENT-GUIDE.md create mode 100644 DEPLOYMENT.md create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 astro.config.mjs create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/branding/apple-touch-icon.png create mode 100644 public/branding/branding.json create mode 100644 public/branding/favicon-192.png create mode 100644 public/branding/favicon-32.png create mode 100644 public/branding/logo-long-black.png create mode 100644 public/branding/logo-long.png create mode 100644 public/favicon.ico create mode 100644 public/favicon.svg create mode 100644 src/layouts/Layout.astro create mode 100644 src/pages/about-us.astro create mode 100644 src/pages/app-development.astro create mode 100644 src/pages/category/seo.astro create mode 100644 src/pages/chatbot-consult.astro create mode 100644 src/pages/contact-us.astro create mode 100644 src/pages/digital-transformation-consult.astro create mode 100644 src/pages/index.astro create mode 100644 src/pages/online-marketing-consult.astro create mode 100644 src/pages/privacy-policy.astro create mode 100644 src/pages/terms-and-conditions.astro create mode 100644 src/pages/website-development.astro create mode 100644 src/styles/global.css create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..16d54bb --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# jetbrains setting folder +.idea/ diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/CHECKLIST.md b/CHECKLIST.md new file mode 100644 index 0000000..3182160 --- /dev/null +++ b/CHECKLIST.md @@ -0,0 +1,155 @@ +# Development & Deployment Checklist + +## Pre-Development + +- [ ] Design approved +- [ ] Branding assets collected (logo, favicon, colors) +- [ ] Content strategy defined +- [ ] URL structure mapped + +## Development + +### Setup +- [ ] Astro project initialized +- [ ] Tailwind CSS configured +- [ ] Brand colors added to theme +- [ ] Fonts configured (Noto Sans Thai, Kanit) +- [ ] Layout component created + +### Pages +- [ ] Homepage created +- [ ] Service pages created (5 pages) +- [ ] About page created +- [ ] Contact page created +- [ ] Blog listing created +- [ ] Legal pages created (Terms, Privacy) + +### Features +- [ ] Responsive design (mobile, tablet, desktop) +- [ ] Dark mode support (if applicable) +- [ ] Navigation working +- [ ] Footer working +- [ ] Social links working +- [ ] Contact form/embed working + +### Content +- [ ] All content migrated from old site +- [ ] Images optimized +- [ ] Meta tags set for all pages +- [ ] Thai language content correct + +### Testing +- [ ] Build succeeds: `npm run build` +- [ ] Docker build succeeds +- [ ] All pages load correctly +- [ ] Links work (no 404s) +- [ ] Mobile responsive +- [ ] Cross-browser tested + +## Deployment Setup + +### Docker +- [ ] Dockerfile created +- [ ] Multi-stage build configured +- [ ] Port 4321 exposed +- [ ] Image builds locally +- [ ] Container runs successfully + +### Gitea +- [ ] Repository created on gitea.moreminimore.com +- [ ] Initial code pushed +- [ ] `.gitignore` configured +- [ ] Branch protection set (main) + +### Easypanel +- [ ] Project created +- [ ] Service configured +- [ ] Gitea repository connected +- [ ] Docker settings correct +- [ ] Auto-deploy enabled +- [ ] Environment variables set (if any) + +### SSL/DNS +- [ ] SSL certificate provisioned +- [ ] DNS configured +- [ ] HTTPS working +- [ ] HTTP redirects to HTTPS + +## Post-Deployment + +### Verification +- [ ] Website accessible via URL +- [ ] All pages load +- [ ] No console errors +- [ ] Images load correctly +- [ ] Forms work (if applicable) + +### Performance +- [ ] Page load time < 3s +- [ ] Lighthouse score > 90 +- [ ] Images optimized +- [ ] No unnecessary JavaScript + +### SEO +- [ ] Meta titles unique per page +- [ ] Meta descriptions set +- [ ] Open Graph tags working +- [ ] Sitemap generated (if applicable) +- [ ] robots.txt configured + +### Monitoring +- [ ] Analytics installed +- [ ] Error tracking configured (if applicable) +- [ ] Uptime monitoring set up + +## Maintenance + +### Regular Updates +- [ ] Dependencies updated monthly +- [ ] Security patches applied +- [ ] Content updated as needed +- [ ] Broken links checked quarterly + +### Backups +- [ ] Content backed up +- [ ] Database backed up (if applicable) +- [ ] Configuration backed up + +### Rollback Plan +- [ ] Previous versions documented +- [ ] Rollback procedure tested +- [ ] Team knows rollback process + +## Documentation + +- [ ] DEPLOYMENT.md created +- [ ] CONTENT-GUIDE.md created +- [ ] CHECKLIST.md created +- [ ] README.md updated + +## Handoff + +- [ ] Client trained on content updates +- [ ] Credentials shared securely +- [ ] Support contacts provided +- [ ] Maintenance plan agreed + +--- + +## Quick Deploy Checklist + +For routine updates: + +- [ ] Changes tested locally +- [ ] `npm run build` succeeds +- [ ] Commit with clear message +- [ ] Push to `main` +- [ ] Monitor Easypanel build logs +- [ ] Verify on production +- [ ] Report any issues + +--- + +**Last Updated**: 2026-03-03 +**Project**: MoreminiMore Redesign +**Status**: ✅ Ready for deployment diff --git a/CONTENT-GUIDE.md b/CONTENT-GUIDE.md new file mode 100644 index 0000000..89b584c --- /dev/null +++ b/CONTENT-GUIDE.md @@ -0,0 +1,204 @@ +# Content Guide - MoreminiMore Website + +## Adding Blog Posts + +Blog posts are located in `src/pages/category/` directory. + +### Creating a New Blog Post + +1. **Create a new `.astro` file** in `src/pages/category/`: + +```astro +--- +import Layout from '../../layouts/Layout.astro' +--- + + +
+
+

+ Your Post Title +

+ +
+

Your content here...

+
+
+
+
+``` + +2. **Use a SEO-friendly URL**: `your-post-title.astro` + +3. **Commit and push** - auto-deploys to production + +### Blog Post Template + +```astro +--- +import Layout from '../../layouts/Layout.astro' +--- + + +
+
+
+

+ Post Title Here +

+

+ Short description or subtitle +

+
+
+
+ +
+
+
+ +
+
+
+
+``` + +## Writing Content + +### Formatting + +- Use **Tailwind prose** class for automatic formatting +- Headings: `

`, `

`, etc. +- Paragraphs: `

` +- Lists: `