尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证เทศบาลตำบลน้ำเลา
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗ระบบบริการภาครัฐดิจิทัลสำหรับองค์กรปกครองส่วนท้องถิ่น (อบต./เทศบาล) ด้าน Smart Governance ให้ประชาชนยื่นเรื่อง ติดตามสถานะ และเข้าถึงข้อมูลของหน่วยงาน พร้อมเครื่องมือช่วยเจ้าหน้าที่จัดการงานและรายงานผล
รองรับหลายหน่วยงาน (multi-tenant) ด้วยโค้ดชุดเดียว โดยเลือกหน่วยงานจาก hostname บน production ส่วนโมดูลที่เปิดใช้และหน้าตาหน้าแรกขึ้นอยู่กับการตั้งค่าของแต่ละหน่วยงาน
| ส่วนงาน | ตัวอย่างการใช้งาน |
|---|---|
| บริการประชาชน | แจ้งเหตุ/แจ้งซ่อม ยื่นคำขอเอกสาร และติดตามเรื่องของตนเอง |
| งานเจ้าหน้าที่ | รับเรื่อง มอบหมายงาน ติดตามสถานะ และดูรายงาน |
| งานบริการและทรัพยากร | บริการประปา ตารางเก็บขยะ การใช้รถส่วนกลาง และการจองรถรับส่งผู้ป่วย |
| ข้อมูลสาธารณะ | ข่าว กิจกรรม สถานที่ท่องเที่ยว ข้อมูลแผนที่ สถานการณ์น้ำ และ PM2.5 |
| เอกสารและมือถือ | แบบพิมพ์ A4 และการติดตั้งเว็บเป็น PWA ตามความพร้อมของ browser |
ระบบช่วยเตรียมข้อมูลและทำงานตามกฎที่กำหนด การใช้ดุลพินิจ การลงนาม และการอนุมัติที่ต้องใช้อำนาจของเจ้าหน้าที่ ยังต้องให้ผู้มีอำนาจดำเนินการตามระเบียบของเรื่องนั้น
localhost ไม่ใช่ฐานทดสอบแยก การตั้งค่าของทีมต่อ Supabase ตัวเดียวกับ production การกดบันทึกในเครื่องจึงเปลี่ยนข้อมูลจริงได้ทันที ใช้ tenant
demoและข้อมูลสมมติที่ติดป้าย[TEST]สำหรับการทดสอบ พร้อมล้างข้อมูลทดสอบเมื่อเสร็จ
VITE_* เป็นค่าฝั่ง browser ห้ามใส่ service_role, private key หรือ token ฝั่ง server| ส่วน | เทคโนโลยีใน repo |
|---|---|
| Runtime สำหรับพัฒนาและ CI | Node.js 24 ตาม .nvmrc และ npm |
| Frontend | React 19, React Router 7, Vite 8, Tailwind CSS 4 |
| Backend | Supabase: PostgreSQL, Auth, Storage, Realtime และ Edge Functions |
| Hosting | Cloudflare Workers และ static assets |
| แผนที่และกราฟ | Leaflet และ Recharts |
| ตรวจสอบ | ESLint, Node.js tests และ Playwright |
เวอร์ชันและคำสั่งทั้งหมดอยู่ใน package.json ใช้ npm ci เพื่อติดตั้งตาม package-lock.json การดูแลใช้บริการเดิมภายในโควตาฟรี ซึ่งมีข้อจำกัดด้านปริมาณใช้งาน ทีมยังต้องดูแล dependency สิทธิ์เข้าถึง และการสำรองข้อมูล
ต้องมี Git, Node.js 24 และ npm สำหรับ browser tests ต้องมี browser ตามที่ test นั้นกำหนด รายละเอียดการตั้งเครื่องและทำงานข้ามเครื่องอยู่ใน DEVSETUP.md
เลือกโฟลเดอร์ที่ไม่อยู่ใน OneDrive เช่น หลีกเลี่ยง Desktop และ Documents
git clone https://github.com/ntocom-lang/smartlocal-namlao.git
cd smartlocal-namlao
git fetch origin master
ถ้ามี repo อยู่แล้ว ให้เปิดทรีหลักและรันเฉพาะ git fetch origin master
ทำงานใน worktree แยกจาก origin/master ไม่แก้หรือสลับสาขาในทรีหลัก และไม่แตะไฟล์ที่ session อื่นแก้ค้างไว้ เปลี่ยนชื่อ worktree และ branch ให้ตรงกับงานแต่ละชิ้น
git worktree add "D:/tmp/wt-smartlocal" -b codex/my-task origin/master
cd "D:/tmp/wt-smartlocal"
npm ci
เครื่องที่ไม่มีไดรฟ์ D: ให้ใช้ C:/dev/wt-smartlocal แทน
ใช้ .env.example เป็นรายการอ้างอิง แล้วให้ผู้ดูแลที่ได้รับสิทธิ์จัดเตรียม .env.local ใน worktree ค่าจริงต้องรับจากช่องทางของทีม ไม่ใส่ลงใน README หรือ commit ขึ้น repo
| ตัวแปร | ใช้สำหรับ |
|---|---|
VITE_SUPABASE_URL | URL ของ Supabase project ที่ได้รับอนุญาต |
VITE_SUPABASE_ANON_KEY | คีย์ anon ฝั่ง browser โดยยังต้องควบคุมสิทธิ์ด้วย RLS |
VITE_TENANT_SLUG | เลือกหน่วยงานบน localhost ใช้ demo สำหรับการทดสอบ |
อย่าคัดลอกค่า tenant แล้วทดสอบทันที: .env.example ระบุ namlao ต้องเปลี่ยนเป็น demo และตรวจชื่อหน่วยงานบนหน้าจอก่อนทดสอบการบันทึกทุกครั้ง
worktree ใหม่ไม่มี .env.local ติดมาด้วย หากไม่ตั้งค่า Supabase แอปจะแจ้งว่าขาด environment และ build อาจไม่ผ่านการตรวจของ postbuild
npm run dev
เปิด URL ที่ Vite แสดงใน terminal การแก้ source code จะอัปเดตหน้าจอผ่าน HMR
หากต้องการตรวจไฟล์ build ในเครื่อง ให้รันจาก worktree ที่ตั้งค่า environment แล้ว:
npm run build
npm run preview
คำสั่งนี้สร้างไฟล์ใน dist/ และเปิด preview ในเครื่อง ไม่ใช่การ deploy และหน้า preview ยังเชื่อมต่อฐานข้อมูลตาม environment ที่ใช้ตอน build
| คำสั่ง | ตรวจอะไร |
|---|---|
npm run lint:blocking | ข้อผิดพลาด ESLint ที่เป็นด่านบล็อกของโปรเจกต์ |
npm run lint | ESLint ทั้ง repo อาจพบข้อผิดพลาดเดิมที่ต้องแยกจากงานปัจจุบัน |
npm run check:uniform | ความสอดคล้องของ backend ทุกหน่วยงาน และอ่านการเปิดโมดูลจาก DB เมื่อมี environment |
npm run ai:check | เอกสารกติกาที่ generate ตรงกับต้นฉบับหรือไม่ |
git diff --check | ช่องว่างและรูปแบบ diff ที่ผิดปกติ |
เลือก tests ที่เกี่ยวข้องกับงานจาก package.json ก่อนรันให้ตรวจว่า test เป็น Local หรือเชื่อมต่อระบบจริง คำสั่ง E2E ที่มี :write หรือ :cleanup สามารถเปลี่ยนข้อมูลได้ ต้องใช้ Demo และสิทธิ์ที่ได้รับอนุญาตเท่านั้น ดู แนวทางทดสอบตามบทบาท
ทางหลักคือ PR → ผู้ดูแล merge เข้า master → GitHub Actions build และ deploy ขึ้น Cloudflare Workers ตาม deploy workflow โดยใช้ environment ที่ผู้ดูแลตั้งไว้ใน GitHub Secrets
VITE_TENANT_SLUG ก่อน deploy.env.local มีค่าที่ใช้ทดสอบเฉพาะเครื่องdocs/ หรือ supabase/ ถูกยกเว้นจากการ deploy อัตโนมัติ การ merge migration จึงไม่ได้ apply ฐานข้อมูลให้npm run test:smoke รวมถึงตรวจพฤติกรรมจริงของฟีเจอร์ที่เปลี่ยนAgent ต้องขออนุญาตก่อน commit/push และไม่มีสิทธิ์ merge หรือ deploy เองจากคำสั่งให้แก้ไฟล์เพียงอย่างเดียว รายละเอียด hosting อยู่ใน hosting-and-domains.md
src/ หน้าเว็บ components, contexts และ utilities
public/ ไฟล์ static และฟอนต์
worker/ Cloudflare Worker และการให้บริการเว็บ
supabase/functions/ Edge Functions
supabase/migrations/ SQL migrations
scripts/ เครื่องมือตรวจสอบ build และจัดการงานพัฒนา
tests/ Unit, browser, workflow และ layout tests
docs/ คู่มือและบันทึกทางเทคนิค
README นี้อธิบายโครงสร้างและขั้นตอนทำงาน ไม่ได้ยืนยันว่าทุกโมดูลเปิดใช้ในทุกหน่วยงาน หรือว่าแบบพิมพ์ทุกใบผ่านการรับรองตามระเบียบ ผู้ดูแลต้องตรวจการตั้งค่าและข้อกำหนดของงานที่จะใช้งานจริง