This is a Video Sharing Application built using Spring Boot, React, and MongoDB. The application allows users to register, login, upload videos (including thumbnails and details), view videos, comment on videos, and like videos.
- User Registration and Login
- Video Upload (Video file, thumbnail, and details)
- Video Viewing
- Commenting on Videos
- Liking Videos
- Video Streaming with HTTP Range Request
- History and Notification
The application follows the Model-View-Controller (MVC) architectural pattern.
- Frontend: React
- Backend: Spring Boot
- Database: MongoDB
- Authentication & Authorization: Spring Security
- Video Processing and Streaming:
- Video Transcoding (FFmpeg)
- Streaming Service (HTTP Range Request)
- APIs:
- REST APIs
- Java 11 or higher
- Node.js
- MySQL or PostgreSQL
- FFmpeg
-
Clone the repository:
git clone https://github.com/Video-Sharing-Project-UIT/Video-Sharing-Backend.git
-
Backup setup:
- Navigate to the backend directory:
cd Video-Sharing-Backend
- Configure the database in src/main/resources/application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/video_sharing_db spring.datasource.username=root spring.datasource.password=yourpassword
- Build the backend application:
./mvnw clean install
- Run the backend application:
./mvnw spring-boot:run
-
Frontend Setup:
- Clone Repository
git clone https://github.com/Video-Sharing-Project-UIT/Video-Sharing-Frontend.git
- Navigate to the frontend directory:
cd Video-Sharing-Frontend
- Install dependencies:
npm install
- Start the frontend application:
npm start
-
Home Page:
-
View video:
-
Upload video:
-
History:
-
Notification:
This project is licensed under the MIT License - see the LICENSE file for details.
For detailed information about the project, please refer to the project report.