Logo Xã Ea Súp
DU LỊCH EA SÚPBẢN SẮC, DẤU ẤN ĐẠI NGÀN TÂY NGUYÊN
Logo Xã Ea Súp
ĐOÀN THANH NIÊN EA SÚP - ĐĂK LĂK (13.070029, 107.883355)

DU LỊCH EA SÚP: BẢN SẮC, DẤU ẤN ĐẠI NGÀN

Sẵn Sàng Triển Khai VPS

Trang này được thiết kế chuyên biệt để bạn kiểm tra trực quan toàn bộ các trang chức năng, chạy thử nghiệm các API Backend, xác thực tiêu chí thiết kế di sản và sao chép kịch bản dòng lệnh triển khai lên Termius.

Chạy Thử Nghiệm API Handlers Trực Tiếp (Live API Tester)

Bấm vào các nút bên dưới để gửi request đến hệ thống Backend Next.js và xem kết quả JSON trả về

HTTP Status: 200 OK
Kết quả phản hồi JSON:
// Bấm một trong các nút phía trên để kiểm tra phản hồi API thực tế

Danh Mục Nghiệm Thu Kỹ Thuật (Pre-flight Checklist)

1. Kiến Trúc & Build Next.js 15 Standalone

Next.js 15.1 + App Router + TypeScript 5.7

100% Type-safe, phân tách Server Components & Client Components.

Cấu hình output: "standalone"

Trong next.config.js để xuất gói chạy tối giản cho Docker không cần node_modules nặng.

Biên dịch kiểm thử sản phẩm (npm run build)

Toàn bộ 11 routes tĩnh và động đã build hoàn tất không lỗi (Exit code 0).

2. Chuẩn Thiết Kế Di Sản Taste-Skill Anti-Slop

Bộ 3 Khóa Bất Biến (The 3 Locks)

Màu be kem #FBF9F5, chữ than chì #1C1917, xanh rêu #0066CC & bazan #A64B2A. Không neon/AI gradients.

Hero Discipline

Tiêu đề <= 2 dòng Noto Serif, dẫn nhập < 20 từ, tra cứu & bản đồ trong màn hình đầu, navbar < 80px.

Bố cục Asymmetrical Bento Grid (Anti-Slop)

Thẻ chính 7 cột Tháp Yang PRông tích hợp Mini Audio Player + 3 thẻ vệ tinh chuyên đề.

Bản đồ Du lịch GIS Leaflet.js

Custom SVG Pin di sản, Popup định vị địa lý, nút chỉ đường Google Maps trực tiếp.

3. Cơ Sở Dữ Liệu & API Handlers

PostgreSQL 16 & Prisma ORM

Schema đầy đủ User, Category, Destination, Review, ItineraryItem với tọa độ GPS và audio.

Cơ chế Resilient Fallback

Fallback mượt mà sang dữ liệu mẫu khi chưa kết nối Postgres, không làm đứt gãy trải nghiệm.

API Upload & Tự động nén WebP bằng Sharp

Tự động giảm tải dung lượng ảnh xuống WebP chất lượng cao 82% trước khi lưu trữ.

Phân quyền RBAC & JWT Authentication

Bảo mật các endpoint chỉnh sửa, thêm mới, xóa điểm đến cho EDITOR và ADMIN.

4. Đóng Gói Docker & An Toàn Bảo Mật

Dockerfile Multi-stage & Non-root User

Mô hình deps -> builder -> runner trên nền node:20-alpine an toàn, user nextjs uid 1001.

docker-compose.yml Cách Ly Cổng 5432

Postgres chạy trong mạng nội bộ app_net, tuyệt đối không expose cổng 5432 ra Internet.

Nginx Reverse Proxy & Dozzle

Cấu hình gzip, cache static headers và trình xem log container tại cổng 8888.

Bitwarden Security Vault Guideline

Khóa 32 ký tự ngẫu nhiên cho DB_PASSWORD và AUTH_SECRET lưu trữ an toàn trong Secure Note.

Triển khai VPS qua Termius

Kịch Bản Khởi Động Hệ Thống Một Chạm (1-Touch Command)

# 1. Kết nối SSH Termius vào VPS
sudo apt update && sudo apt install -y git docker.io docker-compose-plugin

# 2. Kéo mã nguồn về VPS
git clone https://github.com/<YOUR_USER>/danh-thang-ky.git /opt/danhthangky
cd /opt/danhthangky

# 3. Tạo file cấu hình môi trường từ Bitwarden
cp .env.example .env
nano .env

# 4. KHỞI CHẠY HỆ THỐNG MỘT CHẠM
docker compose up -d --build && docker compose exec web npx prisma db push && docker compose exec web npm run db:seed
1. Cloudflare DNS:Bản ghi A trỏ IP VPS, bật Proxied (Đám mây cam) & SSL Full (Strict).
2. Bitwarden Note:Lưu DB_PASSWORD & AUTH_SECRET vào Secure Note ENV_HE_THONG_EASUPSO.
3. Quản trị viên mặc định:[email protected] / AdminEaSup@2025!