Ứng dụng web xem phim được xây dựng với Next.js và Node.js/Express.

Web Xem Phim là một nền tảng xem phim trực tuyến hiện đại, cung cấp trải nghiệm người dùng mượt mà với giao diện đẹp mắt và nhiều tính năng hấp dẫn.
- Đăng ký / Đăng nhập bằng email
- Đăng nhập bằng Google
- Quản lý hồ sơ cá nhân
- Xem danh sách phim theo thể loại
- Tìm kiếm phim
- Xem chi tiết và trailer phim
- Lọc phim theo năm, chất lượng, loại phim
- Bình luận phim
- Lưu phim yêu thích (Bookmark)
- Xem phim cùng bạn bè (Watch Together) qua Socket.io
- Giao diện phát video hiện đại
- Hỗ trợ nhiều chất lượng video
- Lịch sử xem phim
web-xem-phim/
├── client/ # Frontend - Next.js 14
│ ├── app/ # App Router pages
│ ├── components/ # React components
│ ├── context/ # React Context
│ ├── lib/ # Utilities & API calls
│ └── package.json
│
├── server/ # Backend - Node.js/Express
│ ├── src/
│ │ ├── config/ # Database & JWT config
│ │ ├── controllers/ # Business logic
│ │ ├── models/ # MongoDB schemas
│ │ ├── routes/ # API endpoints
│ │ ├── middleware/ # Auth & validation
│ │ └── server.js # Entry point
│ └── package.json
│
└── README.md # Tài liệu này
| Công nghệ |
Mô tả |
| Next.js 14 |
React framework với App Router |
| React 18 |
UI Library |
| Axios |
HTTP Client |
| Swiper |
Slideshow/Carousel |
| Socket.io-client |
Real-time communication |
| Công nghệ |
Mô tả |
| Node.js |
Runtime environment |
| Express.js |
Web framework |
| MongoDB/Mongoose |
Database |
| JWT |
Authentication |
| Socket.io |
Real-time features |
| Bcrypt.js |
Password hashing |
- Node.js 16+
- MongoDB (local hoặc Atlas)
- npm hoặc yarn
git clone <repository-url>
cd web-xem-phim
cd server
npm install
# Tạo file .env từ template
copy .env.example .env
# Cấu hình các biến môi trường trong .env:
# - MONGODB_URI
# - JWT_SECRET
# - PORT
# Chạy server
npm run dev
cd client
npm install
# Tạo file .env.local và cấu hình API URL
# Chạy client
npm run dev
| Method |
Endpoint |
Mô tả |
| POST |
/api/auth/register |
Đăng ký tài khoản |
| POST |
/api/auth/login |
Đăng nhập |
| POST |
/api/auth/google |
Đăng nhập Google |
| GET |
/api/auth/profile |
Lấy thông tin user |
| Method |
Endpoint |
Mô tả |
| GET |
/api/movies |
Lấy danh sách phim |
| GET |
/api/movies/:slug |
Lấy chi tiết phim |
| Method |
Endpoint |
Mô tả |
| GET |
/api/bookmarks |
Lấy phim đã lưu |
| POST |
/api/bookmarks |
Lưu phim |
| DELETE |
/api/bookmarks/:id |
Xóa phim đã lưu |
Comments
| Method |
Endpoint |
Mô tả |
| GET |
/api/comments/:movieId |
Lấy bình luận |
| POST |
/api/comments |
Thêm bình luận |
npm run dev # Chạy development server
npm run build # Build production
npm start # Chạy production server
npm run lint # Kiểm tra lỗi code
npm run dev # Chạy với nodemon (auto-reload)
npm start # Chạy production server
ISC License
⭐ Nếu dự án hữu ích, hãy cho một star nhé!