===Profile Information
**Name**: Shashank Kumar
**Email**: shashank.kumar.phe22@itbhu.ac.in
**Education: ** Indian Institute of Technology (BHU) , Varanasi
**Github : **[[ https://github.com/shashankiitbhu | shashankiitbhu ]]
**LinkedIn : **[[ https://www.linkedin.com/in/shashank-k-606/ | Shashank Kumar ]]
**Location**: Varanasi, India
**Other Communication modes:** Discord, Zulip, Telegram
**Typical working hours**: 9 am - 10 pm (IST) UTC+5:30
===Synopsis
- Wikimedia Commons Android App is an App that Enables user to Upload and Review Images (Contributions) through their Android Devices. The goal of this GSOC Project is to Improve the Upload Management Queue and Modernize the app.
- **Mentors** - @Nicolas_Raoul @RitikaPahwa4444
> Have you contacted your mentors already?
Yes
===Deliverables
Describe the timeline of your work with deadlines and milestones, broken down week by week. Make sure to include the 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
===Previous Contributions to Commons
I have started Contributing to Commons from December 2023 and have made several pull requests since then. You can look at those [[ https://github.com/commons-app/apps-android-commons/pulls?q=is%3Apr+author%3Ashashankiitbhu+is%3Aclosed | here ]]
**Total : 29**
**Merged: 22**
**Open: 7**
| S.No. | PR No. | Issue No. | Description | Status |
|-------|--------|------------------------------------------------------|-------------|--------|
| 1 | [PR #5544](https://github.com/commons-app/apps-android-commons/pull/5544) | [#5522](https://github.com/commons-app/apps-android-commons/issues/5522) | Precise error message if password has become invalid after password change | Merged |
| 2 | [PR #5466](https://github.com/commons-app/apps-android-commons/pull/5466) | [#5437](https://github.com/commons-app/apps-android-commons/issues/5437) | Crash in Upload Wizard when changing Android font size | Merged |
| 3 | [PR #5618](https://github.com/commons-app/apps-android-commons/pull/5618) | [#5277](https://github.com/commons-app/apps-android-commons/issues/5277) | Custom picker: Show differently pictures that are currently being uploaded | Merged |
| 4 | [PR #5468](https://github.com/commons-app/apps-android-commons/pull/5468) | [#5448](https://github.com/commons-app/apps-android-commons/issues/5448) | Nearby banner shows Item without image| Merged |
| 5 | [PR #5576](https://github.com/commons-app/apps-android-commons/pull/5576) | [#5558](https://github.com/commons-app/apps-android-commons/issues/5558) | Do not reload everything after marking a picture as not for upload | Merged |
| 6 | [PR #5500](https://github.com/commons-app/apps-android-commons/pull/5500) | [#5474](https://github.com/commons-app/apps-android-commons/issues/5474) | App Crashes when Switched Between Dark/Light Mode in Location Picker Activity | Merged |
| 7 | [PR #5510](https://github.com/commons-app/apps-android-commons/pull/5510) | [#5505](https://github.com/commons-app/apps-android-commons/issues/5505) |Edit Category Crashes when Previous Button is Clicked | Merged |
| 8 | [PR #5525](https://github.com/commons-app/apps-android-commons/pull/5525) | [#5521](https://github.com/commons-app/apps-android-commons/issues/5521) | Methods Usage Incompatible with Android API Level 21 | Merged |
| 9 | [PR #5590](https://github.com/commons-app/apps-android-commons/pull/5590) | [#4664](https://github.com/commons-app/apps-android-commons/issues/4664) | Migrate Upload Package To View Binding from Butterknife | Merged |
| 10 | [PR #5503](https://github.com/commons-app/apps-android-commons/pull/5503) | [#5473](https://github.com/commons-app/apps-android-commons/issues/5473) | Changes Lost and App Crashes when Switched between Dark-Light Modes in Edit Description and Captions | Merged |
| 11 | [PR #5636](https://github.com/commons-app/apps-android-commons/pull/5636) | [#5630](https://github.com/commons-app/apps-android-commons/issues/5630) | Option to Remove Specific Images from Upload Wizard | Merged |
| 12 | [PR #5594](https://github.com/commons-app/apps-android-commons/pull/5594) | [#4664](https://github.com/commons-app/apps-android-commons/issues/4664) | Migrated Bookmarks Package From Butterknife to ViewBinding | Merged |
| 13 | [PR #5601](https://github.com/commons-app/apps-android-commons/pull/5601) | [#4664](https://github.com/commons-app/apps-android-commons/issues/4664) | Migrated Media Package to View Binding | Merged |
| 14 | [PR #5595](https://github.com/commons-app/apps-android-commons/pull/5595) | [#4664](https://github.com/commons-app/apps-android-commons/issues/4664) | Migrated CategoryDetailsActivity , MainActivity to View Binding | Merged |
| 15 | [PR #5593](https://github.com/commons-app/apps-android-commons/pull/5593) | [#4664](https://github.com/commons-app/apps-android-commons/issues/4664) | Migrated Contributions Package From Butterknife to ViewBinding | Merged |
| 16 | [PR #5592](https://github.com/commons-app/apps-android-commons/pull/5592) | [#4664](https://github.com/commons-app/apps-android-commons/issues/4664) | Migrated Explore Package From Butterknife to ViewBinding | Merged |
| 17 | [PR #5591](https://github.com/commons-app/apps-android-commons/pull/5591) | [#4664](https://github.com/commons-app/apps-android-commons/issues/4664) | Migrated Profile Package from Butterknife to View Binding | Merged |
| 18 | [PR #5478](https://github.com/commons-app/apps-android-commons/pull/5478) | [#5477](https://github.com/commons-app/apps-android-commons/issues/5477) |Selected 18 pictures for multi-upload, but Upload Wizard only asks metadata for 1 picture| Merged |
| 19 | [PR #5550](https://github.com/commons-app/apps-android-commons/pull/5550) | [#5547](https://github.com/commons-app/apps-android-commons/issues/5547) | App Crashes after clicking on Explore in bottom Navigation | Merged |
| 20 | [PR #5543](https://github.com/commons-app/apps-android-commons/pull/5543) | [#5537](https://github.com/commons-app/apps-android-commons/issues/5537) | Unable to upload DNG / RAW images | Merged |
| 21 | [PR #5492](https://github.com/commons-app/apps-android-commons/pull/5492) | [#5470](https://github.com/commons-app/apps-android-commons/issues/5470) |Show Details About Icon Labels when long pressed | Merged |
| 22 | [PR #5493](https://github.com/commons-app/apps-android-commons/pull/5493) | [#5470](https://github.com/commons-app/apps-android-commons/issues/5470) | Show Details About Icon Labels when long pressed | Merged |
| 23 | [PR #5534](https://github.com/commons-app/apps-android-commons/pull/5534) | [#5532](https://github.com/commons-app/apps-android-commons/issues/5532) | Can't Open Privacy Policy | Merged |
| 24 | [PR #5604](https://github.com/commons-app/apps-android-commons/pull/5604) | [#4664](https://github.com/commons-app/apps-android-commons/issues/4664) | Migrated Review Package to View Binding | Open |
| 25 | [PR #5519](https://github.com/commons-app/apps-android-commons/pull/5519) | [#5516](https://github.com/commons-app/apps-android-commons/issues/5516) | Peer Review Buttons not get disabled after voting an Image for deletion | Open |
| 26 | [PR #5512](https://github.com/commons-app/apps-android-commons/pull/5512) | [#5482](https://github.com/commons-app/apps-android-commons/issues/5482) |Fix Some pins disappear after switching apps | Open |
| 27 | [PR #5640](https://github.com/commons-app/apps-android-commons/pull/5640) | [#5627](https://github.com/commons-app/apps-android-commons/issues/5627) | Custom picker: thumbnails sometimes blank | Open |
===About Me
I am Shashank Kumar, a Sophomore at the Indian Institute of Technology (BHU), Varanasi, pursuing a B.Tech in Pharmaceutical Engineering & Technology. I have been programming since I was 12 and I have an immense love for building products and solving problems through programming.
> How did you hear about this program?
I got to know about this program from a fellow developer at the farewell event of Google's Appscale Academy.
> 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 only applying to Google Summer of Code.
===Past Experience
I have been coding since I was 12 and I have been working in Java since then and even got certified as [[ https://www.credly.com/badges/1ca32178-8bb9-4837-8632-f65d948b9bbc/linked_in_profile | Oracle Certified Associate, Java SE 8 Programmer ]] at 13. My Journey to Android App development started soon after and even became [[ https://www.credential.net/16d44ba2-72d0-4167-a786-6e16c252b190?key=591e05a203c3a3155dce6e9e54cfa3237c7f1a0c303e021e22ec8de75abd4ca7 | Google Certified Associate Android Developer ]] at 14. I have been developing Android Apps since then and I have worked on a few Android app projects since then, a notable one which I made when I was in High School [[ https://play.google.com/store/apps/details?id=programming.android.tutorial&hl=en_US&gl=US | Android-Java Tutorial App ]] which got more than 35000 Installs on Play Store.
One of the main Android App I built for - **Opined**, which is a Social Media Platform that I founded and where I handled all the tech ( Web and Backend in PHP - Laravel ) and
The Android App - [[ https://play.google.com/store/apps/details?id=com.app.weopined&hl=en_US&gl=US | Opined App ]] :
- Opined is an Anonymous Social Media Platform that eliminates the problem of biases created by personalization algorithms
- The app is Built on **//Java and Kotlin/Jetpack Compose//**
- Uses Sentiment Analysis to Rank User's Opinions
- Fetches Latest News & Headlines and allows users to put their opinions on them
- Got More than //**10000 Installs on the Play Store**//
- Got Selected in the 2022 Batch of [[ https://blog.google/intl/en-in/products/platforms/announcing-100-promising-startups-of-appscale-academys-class-of-2022-with-meity-startup-hub/ | Google Appscale Academy ]]
===Relevant Skills
- Android App Development with Java and Kotlin
- Jetpack Compose
- Git and GitHub
- Retrofit and REST APIs
- Room Database and SQL
- Unit Testing and Understanding of Robolectric
- RxJava and Multi-Threading
- Understanding of Wikimedia's APIs
===Volunteer Experience
- Core Team Member of Club of Programmers (Software Development Group), IIT (BHU) Varanasi
- Backend Lead at Tech Team of Training and Placement Cell, IIT (BHU) Varanasi
===Availability
>Are you eligible for Google Summer of Code?
Yes.
>Do you plan to submit any other proposal apart from this one?
No, I plan to submit only this proposal.
>Do you have any other plans during the period of GSoC?
No, I do not have any other plans during the contribution period.
>How many hours per week can you dedicate to this?
I can devote at least 40 hours per week and can extend it further if needed, I will have no major commitments during this period, and because of my end-of-semester breaks I won't have any academic commitments during this period either.
>Have you been accepted to GSoC before?
No. I am applying to the GSoC program for the first time.
===Post GSOC :
I like this project personally and I love how active and enthusiastic the whole contributors community in Commons Android. This community is something that I want to be part of for a long time and keep contributing to and improving this project even after GSOC and I'll be more than happy to be a part of major changes in this project. For example, transitioning to Kotlin or Migrating from RxJava (maybe), I have tons of ideas for this project and would love to discuss and implement those over a long period.