===Profile Information
Name:Avanish Yadav
GitHub:[[ https://github.com/awanishyadav967 | Avanish ]]
Linkedin:[[ https://www.linkedin.com/in/avanish-yadav-a1a062224/ | avanish-yadav ]]
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 #5015, #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 1</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>
Describe the timeline of your work with deadlines and milestones, broken down week by week. Make sure to include time you are planning to allocate for investigation, coding, deploying, testing and documentation
===Participation
Describe how you plan to communicate progress and ask for help, where you plan to publish your source code, etc
**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
- Please add links to any feature or bug fix you have written for a Wikimedia project during the application phase.
- Describe any relevant projects that you've worked on previously and what knowledge you gained from working on them.
- Describe any open source projects you have contributed to as a user and contributor (include links).
===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