Nền tảng xem, chia sẻ Video trực tuyến hiệu năng cao, tích hợp tương tác thời gian thực.
MarcusVideo là website xem video trực tuyến tích hợp tương tác thời gian thực và quản trị nội dung, member. Dự án tập trung giải quyết các bài toán cốt lõi:
- Performance: Tối ưu Database, Caching, xử lý N+1 Problem.
- Security: Tự xây dựng cơ chế Authentication/Authorization (RBAC).
- User Experience: Ứng dụng AJAX (Fetch API) cho trải nghiệm SPA (Single Page App).
| Hạng mục | Công nghệ & Giải pháp |
|---|---|
| Kiến trúc | Layered Architecture (MVC), Singleton Pattern, Dependency Injection thủ công. |
| Database | SQL Server 2019, Server-side Pagination, Native Query, Hibernate Lazy Loading. |
| Bảo mật | Servlet Filter (Phân quyền), BCrypt (Mã hóa mật khẩu), UUID File Handling. |
| Frontend | Fetch API (Xử lý Like/Share bất đồng bộ), Chart.js (Dashboard thống kê). |
| Hệ thống | Log4j2 (Audit Log & System Log), Email Async Service (Gửi mail đa luồng). |
| Real-time | WebSocket (Live Chat), Email Async Service (CompletableFuture) |
- Backend: Java 21, Servlet/JSP, Hibernate 6.4, Log4j2.
- Database: SQL Server 2019.
- Frontend: Bootstrap 5, JavaScript (ES6).
- Tools: Maven, Git, Eclipse/IntelliJ.
Hệ thống gồm 5 bảng chính, chuẩn hóa 3NF. (Xem sơ đồ chi tiết bên dưới hoặc file script: docs/marcus-video.sql)
- Clone Repo:
git clone https://github.com/MarcusTr98/Marcus-video.git - Database: Chạy script
docs/marcus-video.sqltrong SQL Server. - Config:
- Update DB User/Pass trong
src/main/resources/META-INF/persistence.xml. - Update Email App Password trong
src/main/java/utils/EmailUtils.java.
- Update DB User/Pass trong
- Run: Chạy trên Tomcat 10+ (Server port 8080).
- Dev: Marcus Tran
- Email: [email protected]




