BÀI VIẾT
Kiến trúc Bé Vui Học Studio: ứng dụng sản xuất riêng và cửa giới thiệu công khai
Nghiên cứu từ mã nguồn về phân quyền, sản xuất qua file, tác vụ, tìm theo nghĩa và tách host công khai.

Trong bài viết
Nghiên cứu từ mã nguồn về phân quyền, sản xuất qua file, tác vụ, tìm theo nghĩa và tách host công khai.

Thiết kế quanh ranh giới gia đình
Bé Vui Học Studio nối trình biên tập trên trình duyệt với kids-video. Mục tiêu thực tế là chọn chủ đề, tạo nguồn có cấu trúc, sửa cảnh, xem đầu ra và để người lớn quản lý xuất bản. Nghiên cứu này dựa mã kiểm tra ngày 8 tháng 10 năm 2026, kèm thay đổi tuyến và định dạng mới tại commit 090c39f. Đọc nguồn giải thích hành vi và kiểm tra đã triển khai, không chứng minh mọi màn hình đăng nhập hoặc đăng ngoài đã được thử trực tiếp.
Ranh giới chính là giới thiệu công khai và không gian gia đình riêng. bevuihoc.luonghongthuan.com hiện phục vụ giới thiệu Việt và bản Anh ở /en. Không gian sản xuất vẫn ở studio.luonghongthuan.com sau Cloudflare Access, ứng dụng dưới /studio và đăng nhập /studio/login. Trang công khai giải thích dự án và dẫn kênh YouTube. Nó không phải trình sửa công khai, không nên lộ hồ sơ gia đình hoặc hành động sản xuất.
Công nghệ nhỏ, trách nhiệm rõ
Giao diện dùng React 19, Vite, TypeScript và Tailwind, cung cấp tạo mới, thư viện, sửa, xem và tác vụ. Máy chủ Hono chạy Node 22, phục vụ giao diện đã build và API. SQLite giữ trạng thái như hồ sơ, job, chủ sở hữu và cờ duyệt. Nội dung nằm trong dự án file: videos/<slug>/video.json là nguồn sửa lâu dài, bản dựng ở thư mục video và media hoàn chỉnh trong output/.
Cách chia này không xem cơ sở dữ liệu là sự thật duy nhất. Trạng thái sản xuất suy một phần từ file và bản ghi tải lên. Nhãn đã dựng nghĩa có đầu ra build; đã render nghĩa có file xuất. Cả hai không tự chứng minh đúng giáo dục hoặc xem công khai. Khi sửa nguồn, có thể cần build và render dù thư viện vẫn hiện giai đoạn cao vì đầu ra cũ còn trên đĩa. Người vận hành cần biết khác biệt để không duyệt nhầm.
Máy chủ thực thi vai trò
Chọn hồ sơ và đăng nhập PIN đặt vai trò trong ứng dụng riêng. Giao diện trẻ giảm điều khiển, nhưng giấu nút không phải ranh giới bảo vệ. Máy chủ từ chối hành động không được phép. Trẻ tạo, sửa, nhân bản, build, check, tạo QA và thumbnail. Trẻ không chạy tts, all, render, upload, không quản lý hàng đợi, xóa nội dung hoặc hồ sơ. Người lớn chịu trách nhiệm tài nguyên và xuất bản ngoài.
Video đã lên lịch hoặc đăng chỉ đọc khi trẻ sửa; nhân bản tạo nguồn mới. Cờ “Nhờ bố mẹ” là trạng thái ứng dụng, không được nhét vào JSON bài học. Như vậy hợp tác tách khỏi nội dung giáo dục. Nguồn cũng có giới hạn lỗi đăng nhập và cookie phiên đã ký. Những cơ chế cần xem vận hành, nhưng có chúng không nghĩa ứng dụng đã qua kiểm toán bảo mật độc lập.
Tác vụ biến ý định thành đầu ra kiểm tra được
Trình quản lý job chạy pipeline Bash đã cài với tham số đã kiểm tra. Nó xếp việc và truyền nhật ký bằng server-sent events, nên trình duyệt xem tiến độ không chỉ đoán từ vòng quay. Trạng thái cuối và log cho kết quả cụ thể. Cần phân biệt chờ, chạy, thành công, lỗi và hủy: render hủy không phải file hoàn thành; upload lỗi vẫn cần xem có bước ra ngoài nào đã thành công trước đó.
Tạo nháp AI kết hợp mẫu chế độ, tài liệu, ví dụ và chủ đề. Nó đọc đối tượng, ép một số trường, kiểm tra và có thể sửa một lần theo lỗi. Cơ chế giúp cấu trúc, không bảo đảm kiến thức. Con người vẫn xem bài. Định dạng mới hỏi khả năng mode: giao diện hiện cho 9:16 ở travel, máy chủ lọc target không hỗ trợ. Ghi định dạng trong yêu cầu chưa làm renderer tự hỗ trợ.
Tìm kiếm giúp phán đoán
Dịch vụ phụ dùng bộ mã hóa chữ EmbeddingGemma 2 cục bộ cho giống thư viện và ghép liên quan. Khi dịch vụ chưa sẵn, khởi động hoặc chậm, ứng dụng về so từ khóa. Đây là cách giữ khả năng hoạt động: hỏng tìm kiếm tùy chọn không ngăn gia đình viết bài. Cảnh báo giúp tìm việc có sẵn, nhưng độ giống không phải kết luận trùng. Đọc ý được ghép rồi xem tập mới có nhiệm vụ học khác không.
Bài không tuyên bố tốc độ hoặc chất lượng phổ quát. Ghi triển khai có số đo cho môi trường cụ thể, không nên biến thành bảo đảm máy khác hoặc thư viện lớn. RAM, thời gian lập chỉ mục và trễ phụ thuộc phần cứng và dữ liệu. Dùng tìm như trợ giúp biên tập, theo dõi sức khỏe riêng với ứng dụng chính. Quy trình vẫn cần dễ hiểu khi chế độ dự phòng đang chạy.
Tách host và vận hành
Nguồn gần đây thêm tuyến theo host, metadata từng ngôn ngữ, canonical, liên kết ngôn ngữ và sitemap. Host công khai chỉ phục vụ các đường giới thiệu, tĩnh và showcase cho phép; API riêng bị chặn, /studio chuyển sang không gian riêng. Host riêng có noindex. Đây là cách tách khám phá khỏi sản xuất. Giới thiệu công khai đã được quan sát tải, host riêng hiện cổng Access; kiểm tra toàn bộ giao diện sau đăng nhập chưa nằm trong nghiên cứu.
Ví dụ, bài tập và sửa lỗi
Giả sử con nhân bản bài đếm đã đăng, đổi nhiệm vụ và nhờ xem. Nguồn mới sửa được, bản gốc được bảo vệ. Người lớn đọc, tạo giọng, render, xem QA rồi quyết định hàng đợi. Vẽ hành trình qua trình duyệt, API, SQLite, file và job. Mỗi chuyển ghi vai trò và bằng chứng lâu dài. Build lỗi thì đọc log; tìm lỗi thì xác nhận dự phòng; trang công khai lộ đường riêng thì xem host trước khi tuyên bố đăng. Health cục bộ chỉ chứng minh dịch vụ sẵn, không chứng minh toàn bộ luồng người dùng.
| Lớp | Trách nhiệm | Giới hạn bằng chứng |
|---|---|---|
| React | Sửa và xem | UI không là ranh giới quyền |
| Hono và SQLite | Vai trò, job, trạng thái | Quyết định server và bản ghi |
| File và kit | Nguồn, dựng, media | Có file chưa nghĩa duyệt |
| Host công khai | Giới thiệu và showcase cho phép | Trang tải khác kiểm tra đăng nhập |
Nguồn và giới hạn bằng chứng
- Latest Studio specification
- Deployment and public-host operations
- Public bilingual learning introduction
Xem demo local từ source thật
Các clip HyperFrames dùng giao diện Studio thật từ commit 238bba2 và dữ liệu mẫu trong repo. Thuyết minh tiếng Anh; có track bản chép tiếng Anh và tóm tắt tiếng Việt, căn thời gian theo câu. AI, embedding và YouTube được giả lập; không dùng dữ liệu gia đình hoặc đăng lên kênh thật.
Duyệt cả hai ngôn ngữ
MP4 · English transcript · Tóm tắt tiếng Việt
Đã kiểm tra thực tế phần nào
Đã đăng nhập profile phụ huynh mẫu, mở màn hình tạo video, kịch bản, SEO và hàng đợi; sửa hai tiêu đề, lưu và đọc source đã lưu qua API local. Bảy ảnh giao diện được chụp không có lỗi JavaScript. Demo chưa kiểm tra pipeline render của Studio, luồng trẻ em hoặc đăng YouTube thật.
Bài tập kiểm tra tương tự
Chọn mục tiêu “đếm ba quả táo”. Đối chiếu hai tiêu đề và từng cảnh với mục tiêu. Lưu, mở lại và kiểm tra cả hai ngôn ngữ. Trước khi đăng, kiểm tra riêng giọng đọc, số đồ vật, đáp án quiz, đối tượng và file render cuối. Điểm SEO nội bộ cao không thay thế những bước này hoặc bảo đảm được tìm thấy.



Thảo luận
Bình luận được duyệt trước khi công khai. Email của bạn được giữ riêng tư.