Simple Java Application for YouTube Data Analysis as Intern assignment.

Job ID: 38608213

Budget: ₹5,000 – ₹20,000 INR

We are looking for a freelancer to develop a simple Java-based app that can analyze YouTube video data to detect trending topics. The project involves three simple phases, and each phase builds upon the previous one.

Phase 1 (40% of the project):
Goal: Parse a YouTube data string into video objects.
Tasks:
- Create a `YouTubeVideo` Java class to represent videos with attributes such as channel name, date, title, description, and view count.
- Develop a `YouTubeDataParser` class that takes a JSON object or string to extract a list of videos.
- Handle parsing errors with a custom `YouTubeDataParserException`.
- Integrate the video data with the provided graphical user interface (GUI).
- Implement unit tests to verify the correct functionality of your parser.

Phase 2 (20% of the project):
- Goal: Sort videos based on different features.
- Tasks:
- Sort videos by channel title, upload date, number of views, and description length.
- Update the GUI to reflect the sorting options.
- Implement additional unit tests to verify sorting functionality.

Phase 3 (20% of the project):
- Goal: Implement trending topic analysis.
- Tasks:
- Index the word usage from video titles and descriptions.
- Find the most used words, their counts, and associate them with the videos.
- Create a sorted list of words based on their frequency.
- Update the GUI to allow users to view indexed words and associated videos.
- Develop additional unit tests for the trending topic analyzer.

Additional Requirements (20% of the project):
- Documentation: Use Javadoc for documenting the code and write a user guide describing the implemented features and any additional functionality.
- Graphical Interface: Enhance the GUI at each phase for better user interaction.
- Unit Testing: Comprehensive unit testing is required to ensure that the application works as expected.

Deliverables:
1. A fully functioning Java application with source code.
2. A user guide explaining the application features.
3. Unit tests for all major functionalities.
4. A clean and well-documented codebase.

Skills Required:
- Proficiency in Java (experience with JSON parsing and the Collections framework).
- Familiarity with GUI development (Swing or similar).
- Strong understanding of software testing (unit tests).

We are on a budget constraints as we are students and this is a simple project which can be done with the help of AI as well, but you may need to have experience in java in order to rectify errors and do it in proper way. Please send a reasonable quotes to review your proposal.

If interested, please provide a brief overview of your approach and relevant experience.