===Profile Information
Name:Avanish Yadav
GitHub:[[ https://github.com/awanishyadav967 | Avanish ]]
Linkedin:[[ https://www.linkedin.com/in/avanish-yadav-a1a062224/ | avanish-yadav ]]
Other communication modes: Discord, Zulip, Slack.
Location (country or state) During GSOC: Varanasi/Dehradun India
Typical working hours (include your timezone) During GSOC: Between 4:00 pm to 2:00 am (IST) UTC+5:30
===Synopsis
**App**
The Commons app of Wikimedia is a mobile application designed to allow users to contribute media files to Wikimedia Commons, a media repository that is hosted by the Wikimedia Foundation and provides free media content for use on Wikipedia and other Wikimedia projects. This app allows users to upload photos and videos directly from their mobile devices, add descriptions and categories, and apply licenses to their media files. Users can also search for and view media files on Wikimedia Commons and use them in their own projects.
**Project**
The proposed project for Google Summer of Code 2023 aims to address the issues related to uploading images to the Commons app of Wikimedia. The project specifically focuses on fixing three upload-related bugs, namely #5196, #5128, and #5136, which are affecting the app's reliability and functionality .The project will focus on improving the app's upload functionality and making it more reliable by addressing these issues. The proposed solution involves optimizing the upload process, adding error handling mechanisms and improving the user interface to provide better feedback to users during the upload process.
**Possible Mentor(s)**
@Nicolas_Raoul
@Kaartic
**Have you contacted your mentors already?**
Yes
===Deliverables
**Timeline**
|
<table>
<tr>
<th>Time Frame</th>
<th>Classification</th>
<th>Task</th>
</tr>
<tr>
<th> Community Bonding Period
(May 4 - May 28, 2023):</th>
<th>Familiarize with the project codebase,
documentation, and community. </th>
<th>Comminicate and discuss project requirements
and objectives with mentors.</th>
</tr>
<tr>
<th> </th>
<td>Subtask 1</td>
<td>Setup development environment, tools, and infrastructure and
Review and improve the project proposal and timeline.
</td>
</tr>
<tr>
<td> </td>
<td>Subtask2</td>
<td>Investigate the cause of the issue and finalize the implementation</td>
</tr>
<tr>
<th> Coding Period - Week 1
(May 29 - June 4, 2023): </th>
<th>Focus on bug #5128 (Upload often fails or gets stuck).</th>
<th>Make necessary code changes to fix the bug.</th>
</tr>
<tr>
<td> </td>
<td>Subtask 1</td>
<td>Test the changes thoroughly to ensure that the upload process works
reliably and efficiently, especially when uploading several pictures.</td>
</tr>
<tr>
<th> Coding Period - Week 2
(June 5 - June 11, 2023): </th>
<th>Continue working on bug #5128</th>
<th>Write and stabilize unit tests.</th>
</tr>
<tr>
<td> </td>
<td>Subtask 1</td>
<td >Verify that the upload process works as expected in various scenarios.</td>
</tr>
<tr>
<td> </td>
<td>Subtask 2</td>
<td>Review the code changes with your mentors and seek their feedback to
ensure that the changes align with the project's goals and best practices.</td>
</tr>
<tr>
<th> Coding Period - Week 3
(June 12 - June 18, 2023) </th>
<th>Continue working on bug #5128</th>
<th> Deploy and test changes</th>
</tr>
<tr>
<td> </td>
<td>Subtask 1</td>
<td>Conduct a load test to simulate various network conditions and
ensure that the upload process can handle large volumes of pictures
without any issues.</td>
</tr>
<tr>
<td> </td>
<td>Subtask 2</td>
<td>Optimize the code to reduce the amount of data transferred during the
upload process and improve its efficiency, especially when uploading over
slow network connections.</td>
</tr>
<tr>
<td> </td>
<td>Subtask 3</td>
<td>Fix any associated bugs and suggestions.
Complete bug #5128.</td>
</tr>
<tr>
<th> Coding Period - Week 4
(June 19 - June 25, 2023)</th>
<th>Start working on bug #5196
(Picture location is sometimes lost despite being present in EXIF).</th>
<th>Reproduce the issue and investigate possible solutions.</th>
</tr>
<tr>
<th> Coding Period- Week 5&6
(June 26 - July 9, 2023):</th>
<th>Partially nonavailability</th>
<th>I have final (end semester) exam from 26 june
to 10 july</th>
</tr>
<tr>
<th> Mid-term Evaluation
(July 10 - July 14, 2023) </th>
<th>Mid-term Evaluation</th>
<th>Discuss progress with mentors and receive feedback.</th>
</tr>
<tr>
<td> </td>
<td>Subtask 1</td>
<td>Evaluate project status and adjust timeline if necessary.</td>
</tr>
<tr>
<th> Coding Period- Week 7
(July 15 - July 21, 2023) </th>
<th>Continue working on bug #5196</th>
<th>Write and stabilize unit tests.</th>
</tr>
<tr>
<th> Coding Period- Week 8
(July 22 - July 28, 2023) </th>
<th>Continue working on bug #5196</th>
<th>Deploy and test changes for bug #5196.</th>
</tr>
<tr>
<th> Coding Period- Week 9
(July 29 - Aug 4, 2023) </th>
<th>Start working on bug #5136
(Retried uploads stuck in queued state).</th>
<th>Reproduce the issue and investigate possible solutions.</th>
</tr>
<tr>
<th> Coding Period- Week 10
(Aug 5 - Aug 11, 2023) </th>
<th>Continue working on bug #5136.</th>
<th>Finalize the implementation strategy. </th>
</tr>
<tr>
<th> </th>
<td>Subtask 1</td>
<td>Make necessary code changes to fix the bug</td>
</tr>
<tr>
<th> Coding Period- Week 11
(Aug 12 - Aug 18, 2023) </th>
<th>Continue working on bug #5136.</th>
<th>Write and stabilize unit tests.</th>
</tr>
<tr>
<th> Coding Period :- Week 112
(Aug 19 - Aug 28, 2023) </th>
<th>Finalize the implementation strategy for any remaining issues or features</th>
<td></td>
</tr>
<tr>
<td> </td>
<td>Subtask 1</td>
<td>Continue coding final changes, focusing on bug fixes and feature improvements.</td>
</tr>
<tr>
<td> </td>
<td>Subtask 2</td>
<td>Focus on code cleanup and documentation improvements.</td>
</tr>
<tr>
<td> </td>
<td>Subtask 3</td>
<td>Address any remaining issues or bugs
and prepare for final mentor evaluation.</td>
</tr>
<tr>
<td> </td>
<td>Subtask 4</td>
<td>Submit final mentor evaluation and
celebrate completion of GSoC project!</td>
</tr>
</table>
**Participation**
To communicate progress and ask for help throughout the project, I plan to utilize several platforms. Firstly, I will use GitHub to maintain a detailed and up-to-date project repository, which will serve as a central hub for all code changes, discussions, and issue tracking. I will commit my changes regularly and document them thoroughly, providing detailed explanations of any new features or bug fixes.
Additionally, I will communicate with my mentors and the community via Zulip, an open-source chat platform that provides threaded conversations and real-time notifications. I will regularly post updates on my progress, ask for feedback and advice, and engage in discussions with my mentors and fellow developers.
I will use email to communicate with my mentors on a more formal level, particularly when discussing sensitive or complex issues. I will provide clear and concise explanations of any problems or questions I may have.
**About Me**
I am Avanish Yadav, a second year Undergraduate student in Graphic Era University ,Dehradun ,India .I'm a computer science student with a passion for Android development . I've been interested in Android development for several years and have experience working on various Android apps. I have a solid understanding of Android fundamentals, including activity lifecycle, UI components, and data storage. I'm also proficient in Java and Kotlin and have experience working with popular Android libraries such as Retrofit, Glide, and Room.
**Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?**
I may have other commitments, such as coursework but I will prioritize my GSoC work and communicate any potential conflicts with my mentor as soon as possible.
**We advise all candidates eligible for Google Summer of Code and Outreachy to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?**
I am applying in GSOC only.
**What does making this project happen mean to you?**
As a passionate Android developer, I'm always looking for new challenges and opportunities to improve my skills. I believe that the Google Summer of Code program is the perfect platform to do so, as it provides me with the chance to work on real-world projects with experienced mentors and contributors.
My ultimate goal for this program is to not only learn and grow as a developer but also to contribute to the open-source community and make a positive impact on users' lives. I believe that technology has the power to transform people's lives for the better, and I'm excited to use my skills and knowledge to create innovative and meaningful solutions.
Furthermore, I'm thrilled at the prospect of working with a talented team of developers from all over the world. I believe that collaboration and communication are essential components of successful software development, and I'm eager to learn from my peers and share my own experiences with them
**Past Experience**
I am pleased to share my past experiences, which have been instrumental in shaping my career as a technology enthusiast. As a passionate learner, I am always on the lookout for opportunities that help me gain knowledge and skills in diverse areas of technology.
1. One such opportunity that I was fortunate to be a part of was a three-month internship program on Artificial Intelligence (AI) and Internet of Things (IoT) innovation and applications, organized by Graphic Era University and IEEE. During the internship, I had the opportunity to work on various projects related to AI and IoT, such as developing a web app which can detect the speed of Cyclone (This project topic was given by Indian space Research Organisation-ISRO). This experience helped me develop a strong foundation in AI and IoT technologies and understand their potential in solving real-world problems.
2. I also had the privilege of being a finalist in the Hackathon organized by the School of Computer Science, UPES, where I had the opportunity to work on video analytic tools. Collaborating with a team of talented individuals, we developed a solution that was well-received by the judges. This experience taught me the importance of teamwork, effective communication, and problem-solving skills in a fast-paced, competitive environment.
3. I had the honor of publishing a research paper on "Emerging Technologies for Sustainable Educational Tourism." This paper was the culmination of my research on the intersection of technology and education, and how emerging technologies can be leveraged to promote sustainable tourism. This experience helped me refine my research and analytical skills and also taught me the importance of presenting complex information in a concise and engaging manner.
Overall, my past experiences have equipped me with a strong foundation in emerging technologies and their applications, effective communication, teamwork, problem-solving, research, and analytical skills. I am confident that these experiences, combined with my passion for technology, make me a valuable asset to any team that is working towards creating innovative solutions to complex problems.
**Contributions to Commons**
Total:1
Merged:1
<table>
<tr>
<th>PR</th>
<th>Task</th>
<th>Status</th>
</tr>
<tr>
<td> [[ https://github.com/commons-app/apps-android-commons/pull/5173 | #4797 ]] </td>
<td>Add one more choice to the list</td>
<td>Merged</td>
</tr>
</table>
**New Issue**
<table>
<tr>
<th>Issue</th>
<th>Name</th>
<th>Status</th>
</tr>
<tr>
<td>[[ https://github.com/commons-app/apps-android-commons/issues/5178 | #5178 ]]</td>
<td>Skip tutorial option not showing after signup/signin in Commons app </td>
<td>Closed</td>
</tr>
</table>
**PR Review**
<table>
<tr>
<th>PR</th>
<th>Name</th>
<th>Status</th>
</tr>
<tr>
<td>[[ https://github.com/commons-app/apps-android-commons/pull/5183 | #5183 ]]</td>
<td> Fix: user reset for Thanks after Review</td>
<td>Merged</td>
</tr>
</table>
===Any Other Info
Add any other relevant information such as UI mockups, references to related projects, a link to your proof of concept code, etc