My favorite YouTube videos mobile app

user profile photouser profile photouser profile photo74 developers have joined this project.

What you will practice

You’ll learn how to develop a basic cross-platform mobile app with React Native, which includes basic features such as screen navigation, making remote API requests, and authentication.

Introduction

A typical mobile app often contains essential features including screen navigation, pulling remote data with RESTful API, and authentication. Developing cross-platform apps with React Native often requires third-party libraries (e.g. react-navigation) to handle low-level feature such as screen navigation gracefully.

In this project, you will practice implementing these basic features by creating a simple app that lists the user’s liked YouTube videos. The user can also click one of the videos in the list to navigate to the video detail page that shows the video thumbnail, title, and description. In order to get the user’s liked videos list, you’ll have to implement a flow to allow user to authenticate and authorize the app with Google OAuth 2.0.

Requirements

  • Ask user to authenticate and authorize the app with Google OAuth 2.0 in order to pull data from YouTube API
  • Pull user’s liked video data from YouTube API
  • Display a list of YouTube videos liked by the user
  • User can see a new screen with video details including thumbnail, title, and description

The following image shows one way to implement the UI. Feel free to interpret the requirements however you'd like!
My favorite YouTube videos mobile app project demo

For an extra challenge:

  • Play the video!
  • Make the UI look native in both iOS and Android

Suggested Implementation

We suggest starting off by using hard-coded mock data to create UI for both video list and detail screens. You can then implement authentication and fetch real data to replace the mock data. We suggest using React Navigation for screen transitions.

Hit a programming wall?
Get help from our mentors

  • Post request free
  • First 15 mins free

Suggested languages and frameworks

React Native

Difficulty

medium

Contributed by

Front-End Developer @ Codementor • React Enthusiast

Interested in this project?

Shorten your learning curve with on-demand programming help

The awesome set of verified mentors will provide guidance and mentoring help when you are stuck.

Suresh Atta

  • Post request free
  • First 15 mins free
Shorten your learning curve with on-demand programming help

Browse more projects

More coming soon...