The Video Recommendation App aims to provide users with a platform to
discover, share, and interact with YouTube videos. By implementing a
seamless integration of frontend and backend technologies, the project
facilitates the viewing, posting, and management of video content within
a user-friendly interface.
Front end Implementation:
Utilized React components to
display each video, including title, embedded video, vote count, and
delete button.
Implemented "Up Vote" and "Down Vote" buttons for each video to allow
users to interactively increase or decrease vote scores.
Created a separate React component for adding videos, featuring fields
for title and URL input.
Ensured compliance with accessibility guidelines to enhance usability
and inclusivity.
Back end Implementation:
Developed a Node.js based API
with four endpoints: GET "/videos", POST "/videos", GET
"/videos/{id}", DELETE "/videos/{id}".
Enabled retrieval of all videos, addition of new videos, retrieval of
specific videos by ID, and deletion of videos by ID.
Implemented data validation to ensure that video title and URL fields
are included and valid during video addition.
Front end and Back end Integration:
Established seamless connectivity between the React frontend and
Node.js backend to enable data storage and retrieval from the API.
Utilized the fetch API in React to retrieve data from the backend API,
ensuring that the React app does not read data from local variables.
Database Integration:
Integrated a PostgreSQL database
with the backend API to enable persistent storage of video data.
Ensured data integrity and reliability by storing video information in
a structured and scalable database environment.
The Video Recommendation App successfully provided users with a dynamic
platform for discovering and interacting with YouTube videos. By
implementing intuitive frontend features and robust backend
functionalities, the project facilitated seamless video sharing, voting,
and management, enhancing the overall user experience.
Potential future enhancements may include implementing user
authentication and authorization features, refining the user interface
for improved navigation and usability, and incorporating additional
features such as video categorization and search functionality to
further enrich the user experience. Additionally, ongoing maintenance
and optimization efforts will ensure the scalability and reliability of
the platform in meeting the evolving needs of users.