Open-Source Cold Email & Warmup Platform
Warmbly is the open-source platform for cold email: warm your mailboxes, send campaigns, and triage every reply. Run it on our cloud or self-host the whole thing.
ระบบบริหารจัดการงานประชาสัมพันธ์ เทศบาลนครนครสวรรค์
Translation pending
MarketingGitHub @poppatompong-devOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗PR-OS เป็นโครงโปรเจกต์สำหรับส่งต่อโปรแกรมเมอร์เพื่อพัฒนาระบบบริหารจัดการงานประชาสัมพันธ์ของหน่วยงานเทศบาล โดยเน้นการบันทึกงาน กำหนดผู้รับผิดชอบ แสดงตารางงานบนจอมอนิเตอร์ รับทราบงาน แจ้งเตือน และรายงานผู้บริหาร
สถานะปัจจุบัน: Phase 1 MVP กำลังพัฒนา — เชื่อมต่อ Supabase จริงแล้ว (Auth + PostgreSQL + RLS) พร้อมฟีเจอร์หลักที่ใช้งานได้จริง: เข้าสู่ระบบด้วย username, ตารางงาน, เพิ่ม/แก้ไข/เผยแพร่/ยกเลิกงาน + audit log, มอบหมาย/รับทราบ, จอมอนิเตอร์ (monitor-safe), ไฟล์แนบส่วนตัว, รายงานผู้บริหาร + ส่งออก Excel/PDF, คิวแจ้งเตือน และหน้าตั้งค่าผู้ดูแล ดูรายละเอียดความคืบหน้าที่ docs/14-implementation-status.md
หมายเหตุ:
- การส่งแจ้งเตือนจริงผ่าน LINE/Email ยังทำงานโหมดจำลอง เพราะยังไม่ได้ใส่ credential ของ provider
- Supabase project ถูก pause (แผนฟรี pause หลังไม่มี activity 7 วัน) ต้อง restore ก่อนรันระบบ — ขั้นตอนอยู่ใน
docs/15-operations-runbook.md- migration
0009และ0010ยังไม่ได้รันบน Supabase จริง
docs/
01-vision-and-scope.md
02-requirements-prd.md
03-user-flows.md
04-data-model.md
05-api-contract.md
06-ui-screens.md
07-implementation-plan.md
08-security-and-permissions.md
09-notification-design.md
10-handoff-checklist.md
11-recommended-skills.md
12-visual-design-direction.md
13-setup-free-tier.md
14-implementation-status.md สถานะละเอียด: ทำแล้ว/ยังเหลือ
15-operations-runbook.md งานที่เจ้าของโปรเจกต์ต้องทำเอง (restore, migration, credential)
16-external-review-brief.md บริบทสำหรับที่ปรึกษา/ผู้ตรวจจากภายนอก
src/
app/ หน้าจอจริง (App Router) + route handlers ใน app/api
components/ คอมโพเนนต์ UI ที่ใช้ซ้ำ
lib/ โดเมนโมดูล: events, assignments, attachments, monitor, notifications, reports, export, settings, supabase, auth
types/domain.ts Domain types ที่ใช้ร่วมกัน
supabase/
migrations/0001..0010_*.sql
docs/01-vision-and-scope.md เพื่อเข้าใจเป้าหมายและ phasedocs/02-requirements-prd.md เพื่อเข้าใจ requirement ที่ตกลงแล้วdocs/04-data-model.md และ supabase/migrations/0001_initial_schema.sqldocs/07-implementation-plan.mdหลังติดตั้ง dependency แล้วสามารถใช้คำสั่งมาตรฐานของ Next.js:
npm install
npm run dev
npm run lint
npm run typecheck
ค่า environment เริ่มจาก .env.example แล้วสร้าง .env.local ในเครื่องพัฒนา (ต้องใส่ค่า Supabase จริง ดู docs/13-setup-free-tier.md)
ระบบใช้ username/password (ไม่ใช่อีเมล) — โดย Supabase Auth ยังเก็บอีเมลเบื้องหลัง แต่ผู้ใช้ล็อกอินด้วย username สั้น ๆ ระบบจะแปลง username เป็นอีเมลฝั่งเซิร์ฟเวอร์ตอนล็อกอิน (อีเมลไม่ถูกส่งไปฝั่ง browser)
/settings เพื่อกำหนด ชื่อผู้ใช้ (username), บทบาท (role) และผูกกับรายชื่อบุคลากร/settings/monitor เป็นหน้าสาธารณะ (ไม่ต้องล็อกอิน) แสดงเฉพาะข้อมูลที่ปลอดภัย — ค่าเริ่มต้นเป็น ตารางเรียบ อ่านง่าย ตัวใหญ่ (วัน/เวลา/งาน/สถานที่/ผู้รับผิดชอบ/หมายเหตุ); จอทีวีย้อนยุคเดิมเก็บไว้ที่ /monitor?classic=1/events/[id] เก็บใน private bucket ของ Supabase Storage ดาวน์โหลดผ่านลิงก์เซ็นชื่อที่หมดอายุใน 60 วินาที (/api/attachments/[id]) — เจ้าหน้าที่ backend แนบ/ลบได้, ผู้รับมอบหมายเห็นเฉพาะงานของตัวเอง, จอมอนิเตอร์ไม่เห็นเลย/reports → ปุ่ม "ดาวน์โหลด Excel" (ไฟล์ .xlsx 4 ชีต สร้างเองโดยไม่พึ่ง dependency ภายนอก)/reports/print แล้วสั่งพิมพ์/บันทึกเป็น PDF จากเบราว์เซอร์ (ภาษาไทยไม่เพี้ยน ไม่ต้องฝังฟอนต์ใน PDF library)หมายเหตุสำหรับ dev server: ถ้ารัน npm run build ขณะ npm run dev ยังเปิดอยู่ ควร restart dev server ก่อนดูหน้าเว็บอีกครั้ง เพราะโฟลเดอร์ .next เป็น generated cache และอาจทำให้ CSS dev asset เช่น /_next/static/css/app/layout.css ตอบ 404 จนหน้าเว็บกลายเป็น HTML ดิบได้
เอกสารนี้อ้างอิงจากบทสัมภาษณ์และการคุยออกแบบระบบ ณ วันที่ 29 มิถุนายน 2569 โดยมีไฟล์สรุปต้นทางอยู่ที่ transcripts/interview_summary.md ควรตรวจทานชื่อบุคคลและคำเฉพาะจากเสียงจริงก่อนนำไปใช้เป็นเอกสารราชการ