Skip to content

This is a Video Sharing Application built using Spring Boot, React, and MongoDB.

License

Notifications You must be signed in to change notification settings

Video-Sharing-Project-UIT/Video-Sharing-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Video Sharing Application

Logo

Overview

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.

Features

  • 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

Architecture

The application follows the Model-View-Controller (MVC) architectural pattern.

Architecture

Components

  • 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

Use Case

UseCase

Database

Database

Prerequisites

  • Java 11 or higher
  • Node.js
  • MySQL or PostgreSQL
  • FFmpeg

Installation

  1. Clone the repository:

    git clone https://github.com/Video-Sharing-Project-UIT/Video-Sharing-Backend.git
  2. 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
  3. 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

Usage

  1. Home Page:

    • Main page choose video MainPage
  2. View video:

    • Browse and view videos uploaded by users. ViewVideo
  3. Upload video:

    • Navigate to the upload section and upload your video along with the thumbnail and details. Upload
  4. History:

  5. Notification:

Contributors

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Demo

Report

For detailed information about the project, please refer to the project report.

About

This is a Video Sharing Application built using Spring Boot, React, and MongoDB.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •