The goal of this project was to deepen my knowledge of Java and Spring framework,
learn frontend framework like Angular and to try to build a fullstack application.
To run this application, you can download Docker and execute it. However, please note that you need to set up your own AWS Cloud credentials and Auth0 configuration. This is necessary for the application to function correctly.
You will need to provide the following:
- AWS_ACCESS_KEY_ID: Your AWS access key ID.
- AWS_SECRET_ACCESS_KEY: Your AWS secret access key.
- AUTH0_USERINFOENDPOINT: The endpoint URL for Auth0 user information.
- SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI: The issuer URI for JWT tokens from Auth0.
These settings are required for the application's authentication and authorization.
This application recreates basic functionality of a YouTube application.
When user starts the application he will see a home screen of videos.
He can then of course watch this video. With full experience.
User can subscribe to the author of the video. Like (or dislike) this video and leave a comment.
Before that he must login into the application.
After watching a few videos user can look into his video history as well to his liked videos or check users he is subscribed to.
And if the user also wants to share his own videos he can do so.
This is a high level diagram of my application
User interacts with the frontend part which sends and receives request from Spring REST API. The Server side communicates with database (it saves metadata there) and saves the actual images and videos to cloud. Also user authentication is implemented from the frontend and backend.