Video-sharing App Integration with YouTube

Job ID: 38292862

Budget: $30 – $250 USD

Social Network Video Sharing App Development
Overview:
We are seeking a skilled Android developer to create a video-sharing app that integrates with
YouTube and Firebase to connect users with their social network. Users will be able to select
videos from YouTube channels, create playlists, watch, and share videos. The app will
retrieve data from YouTube and store it in a cloud-based NoSQL database.
Project Scope:
The app will feature the following functionalities:
1. YouTube API Integration:
o Connect to YouTube API to fetch channel descriptions, number of subscribers,
and video lists.
o Store the fetched information in a cloud-based NoSQL database (Firebase).
o Enable users to tap on a video to watch it and share it on their social network.
2. Google Login:
o Implement Google login functionality to authenticate users.
o Automatically transition to the main activity if a user is already logged in.
3. Main Activity:
o Display app services (watch a YouTube video, list a YouTube channel video)
post-login.
4. Cloud Data Management:
o Integrate Firebase to handle user data storage and retrieval.
o Implement real-time updates and callbacks for data changes.
o Optimize data access speed and document performance metrics.
5. YouTube Player:
o Integrate YouTube Player API to play videos within the app.
o Validate video URLs and handle errors appropriately.
6. YouTube Channel and Video List:
o Fetch and display YouTube channel information and video lists using Retrofit
for HTTP requests.
o Parse JSON responses to extract required information and display it in a
RecyclerView.
7. Performance Monitoring and Optimization:
o Use Android Profiler to monitor CPU usage, network traffic, and memory
usage.
o Provide optimization techniques and document the process.
Deliverables:
1. Complete Android Project:
o Fully functional app meeting all the above requirements.
o Source code managed with version control (GIT).
2. Documentation:
o Detailed Word document (500 words) outlining the testing, debugging, and
version control processes.
o Screenshots providing evidence of each process and performance metrics.
3. Screenshots:
o Evidence of Firebase database entries.
o Emulator screenshots for the YouTube player and video list activities.
o Profiler screenshots for CPU, network, and memory usage.
Tasks:
Task 1: Testing, Debugging, and Version Control
• Identify, debug, and document an error in the app.
• Develop and implement a unit test.
• Apply and document version control using GIT.
Task 2: Login Activity
• Create a login screen with Google login functionality.
• Ensure automatic transition to the main activity if the user is already logged in.
Task 3: Main Activity
• Display services available post-login (watch a YouTube video, list a YouTube
channel video).
Task 4: Cloud Data and NoSQL Database
• Integrate Firebase for data storage.
• Implement cloud service for reading and writing user information.
• Ensure real-time updates and callbacks for data changes.
Task 5: YouTube Player Activity
• Integrate YouTube Player API.
• Validate and play videos based on user input.
Task 6: YouTube API Server Service
• Use Retrofit to fetch YouTube channel information and video lists.
• Parse JSON responses and store data in the cloud.
Task 7: YouTube Video List Activity
• Create a RecyclerView to display the video list.
• Implement video tapping to start the YouTube Player activity.
Task 8: YouTube Video Player Activity
• Implement YouTube Player to play videos.
• Design a suitable GUI for video playback.
Task 9: Optimisation
• Use Android Profiler to monitor and document app performance.
• Suggest and document optimization techniques for CPU, network, and memory usage.