Golang · Clean Architecture · Server-rendered Web Application
Contact Ops
Ứng dụng tiếp nhận biểu mẫu liên hệ và đưa chúng vào một quy trình xử lý tập trung cho người vận hành. Hệ thống quản lý phản hồi, tệp đính kèm, nhật ký thư, thông báo và hồ sơ người dùng; mẫu HTML được tạo an toàn về kiểu dữ liệu bằng templ. Redis hỗ trợ hàng đợi và giới hạn tần suất, PostgreSQL lưu dữ liệu nghiệp vụ, còn Cloudflare R2 lưu tệp qua giao thức S3. Bản vận hành thực tế chạy sau Traefik với TLS, kiểm tra sức khỏe và cấu hình đóng gói bằng bộ chứa.
HTTP Controller/Interface → Application Use Case → Domain Entity → Infrastructure Adapter cho PostgreSQL, Redis, SMTP và R2. templ render dashboard phía server, còn WebSocket cập nhật notification. Traefik đứng trước application container; middleware đảm nhận session authentication và rate limiting.
Tech stack
Kiến trúc
Clean Architecture · Server-rendered Web Application
HTTP Controller/Interface → Application Use Case → Domain Entity → Infrastructure Adapter cho PostgreSQL, Redis, SMTP và R2. templ render dashboard phía server, còn WebSocket cập nhật notification. Traefik đứng trước application container; middleware đảm nhận session authentication và rate limiting.
Core features
- Tiếp nhận và quản lý yêu cầu liên hệ
- Soạn và gửi phản hồi qua thư điện tử
- Lưu tệp đính kèm trên Cloudflare R2/S3
- Nhật ký thư và trạng thái gửi
- Thông báo thời gian thực
- Bảng thống kê và hồ sơ người dùng
- Xác thực phiên và khóa API
- Giới hạn tần suất bằng Redis
- Ủy quyền ngược TLS với Traefik