Dự án bảo tồn văn hóa và ngôn ngữ của người H'rê tại Việt Nam thông qua việc số hóa các bài thánh ca Tin Lành đã được chuyển ngữ và các tài liệu giáo lý.
- Người khởi tạo: Đinh Hồng Huỳnh
- Email: honghuynhit@gmail.com
- Bắt đầu: Tháng 05 năm 2026
- Website: https://honghuynhit.github.io/
Dự án này có 2 lớp:
- Lớp bảo tồn (repo này): Lưu metadata, lyrics, và tài liệu vĩnh viễn trên Git
- Lớp phục vụ (website Nuxt): Hiển thị nội dung cho người dùng
Media files (MP3, PDF) lưu trên Cloudinary vì kích thước lớn.
hre-archive/
├── content/ # Nội dung — quan trọng nhất
│ ├── songs/ # Mỗi bài hát = 1 .json + 1 .txt
│ │ ├── 001-ten-bai.json # Metadata bài hát
│ │ └── 001-ten-bai.txt # Lời bài hát (plain text)
│ └── books/ # Mỗi cuốn sách = 1 .json
│ └── 001-ten-sach.json
├── permissions/ # Thư đồng ý của tác giả/mục sư
│ └── 001-amazing-grace.pdf
├── docs/ # Tài liệu cho người maintain
│ ├── INGEST.md # Cách thêm bài/sách mới
│ ├── BACKUP.md # Quy trình backup định kỳ
│ ├── FONT.md # Cách dùng font H'rê
│ └── MIGRATION.md # Khi cần chuyển dịch vụ
├── scripts/ # Tự động hóa
│ ├── validate.py # Kiểm tra tính toàn vẹn dữ liệu
│ ├── backup-cloudinary.py # Download backup từ Cloudinary
│ └── generate-index.py # Tạo file index.json từ toàn bộ content/
└── web/ # Code website Nuxt 3
1. Nội dung là nền tảng, code là phương tiện
Nếu mai website chết, chỉ cần có thư mục content/ là dựng lại được tất cả. Code có thể viết lại, nội dung mất là mất.
2. Plain text trên cùng
Lyrics dùng .txt plain text, không dùng database. Để 50 năm sau vẫn đọc được, không phụ thuộc công nghệ.
3. Một bài hát = một file JSON + một file txt Đơn giản, dễ review qua Git diff, dễ chia sẻ qua email/Zalo.
4. Tài liệu cho người kế thừa quan trọng hơn code đẹp Mọi quyết định phải có lý do được ghi lại trong docs/.
-
Đọc tất cả file trong
docs/theo thứ tự:README.md(file này)docs/INGEST.md— cách thêm nội dungdocs/BACKUP.md— quy trình backup quan trọngdocs/FONT.md— về font tiếng H'rêdocs/MIGRATION.md— khi cần thay đổi hạ tầng
-
Liên hệ người khởi tạo (xem trên) để lấy:
- Account Cloudinary credentials
- Domain registrar login
- Cloudflare account
- Bản backup ổ cứng vật lý gần nhất
-
Chạy
scripts/validate.pyđể kiểm tra repo còn nguyên vẹn
- Đọc
docs/INGEST.md - Liên hệ người khởi tạo để được thêm vào collaborators
- Tạo branch riêng, không commit thẳng vào main
Dự án phụ thuộc vào các dịch vụ sau. Nếu một dịch vụ chết, đọc docs/MIGRATION.md:
| Dịch vụ | Mục đích | Plan | Có thể thay bằng |
|---|---|---|---|
| GitHub | Lưu code + metadata | Free | GitLab, Codeberg |
| Cloudinary | Lưu MP3 + PDF | Free (25GB) | Cloudflare R2, Bunny CDN |
| Cloudflare Pages | Hosting website | Free | Vercel, Netlify, GitHub Pages |
| Cloudflare DNS | Tên miền | Trả phí domain | Bất cứ DNS nào |
Trong trường hợp người khởi tạo không còn duy trì được:
- Repo này luôn public trên GitHub — ai cũng có thể fork
- Mỗi 6 tháng tạo release với toàn bộ snapshot
- Có ổ cứng vật lý lưu tại 2 nơi khác nhau (xem
docs/BACKUP.md) - Tài liệu đầy đủ trong
docs/để người mới có thể tiếp quản
- Code (mọi file trong
web/,scripts/): MIT License - Nội dung (mọi file trong
content/): CC BY-NC-SA 4.0 (sử dụng phi thương mại, ghi credit, chia sẻ tương tự) - Bài hát gốc: Public domain hoặc thuộc về tác giả gốc
- Bản dịch H'rê: Thuộc về người dịch, sử dụng theo permission (xem
permissions/)
- 2026-05-20: Khởi tạo dự án
- (Cập nhật khi có thay đổi lớn về kiến trúc)