← กลับผลงานทั้งหมด

Tour Service System

DEV

ระบบหลังบ้านสำหรับธุรกิจทัวร์ แยกลูกค้า การจอง รอบเดินทาง และการชำระเงินชัดเจน


// ความตั้งใจ
ระบบทัวร์ที่จองจริงต้องแยกเรื่อง tour, schedule, customer, booking และ payment ให้ชัด ไม่ควรเริ่มจากหน้าเว็บก่อนโดยไม่มี domain model ผมทำ backend service ด้วย Go โดยวางโครง clean architecture แบบเบา ๆ มี domain tests, service layer, repository interfaces และ Docker compose สำหรับรันกับ PostgreSQL
// ปัญหาที่แก้

ถ้า logic การจองทัวร์อยู่ปนกับ UI จะดูแลยาก โดยเฉพาะเรื่องรอบเดินทาง การจองซ้ำ การชำระเงิน และสถานะ booking

// ฟีเจอร์หลัก
01

Domain Models

แยก booking, customer, payment, schedule และ tour เป็น package ภายใน พร้อม error model

02

Service Layer

business logic อยู่ใน internal/service ไม่ผูกกับ HTTP handler โดยตรง

03

Repository Interfaces

เตรียม abstraction สำหรับต่อ PostgreSQL ผ่าน sqlx/pgx และทดสอบแยก layer ได้

04

HTTP Server

ใช้ go-chi สำหรับ routing และ validator สำหรับ request validation

05

Tests

มี test สำหรับ domain booking/schedule และ service booking เพื่อกัน logic พังตั้งแต่ต้น


// ผลลัพธ์

ได้ skeleton backend ที่จริงจังพอสำหรับต่อยอดเป็นระบบจองทัวร์ production โดยไม่ผูก business rule กับ frontend


← ผลงานทั้งหมด