A small demo of the app : demo
As part of the Hackaton organized in 2021 by #lescodeursnelagerpas we chose to clone some features of youtube. In the document below we will list the different features that will be implemented in the application.
The clone To develop the application we will use VueJS for the frontend and Spring Boot for the backend. The application will have the following features:
USER (Not logged in)
-
See Videos ✔
-
Register ✔
-
Login ✔
-
Search video by title (optional) ✔
USER (logged in)
-
See videos ✔
-
likes videos ✔
-
change name, password and profile data ✔
-
saved videos liked (optional) ✔
-
Comments videos ✔
-
Delete own comment ✔
-
Edit comment
Moderator
-
Add videos ✔
-
Delete videos ✔
-
Delete Users comments (optional) ✔
-
Edit videos
Admin
-
Ban users ✔
-
update roles
To install and run this project follow these steps:
-
Clone this repository
-
Install Gradle Dependency in hackaton/backend
-
Go to (hackaton/frontend) and run "npm install" command to download frontend dependencies
-
Go to (hackaton/frontend) and run "npm run serve". The app will start on port 8080
-
Go to (hackaton/backend/src/main/java/com/majumbum/youtube_clone/) und start the Spring Boot Rest Api with "YoutubeCloneApplication.java" as main class (The api will start on port 8090)
-
Or go on your command line :
cd backend
and then./gradlew bootRun
-
Vue with Vuex(Store an state Management)
-
Axios for the http Request
-
Java Spring Boot for the Backend
-
H2 Virtual Database with JPA
To see the API DOC :
-
Go to backend/API-documentation and Open Swagger UI.html
-
The Best Way ! Run the Spring Boot Application and goto http://localhost:8090/swagger-ui/