===Profile Information
Name : S Balakrishnan
IRC nickname on Freenode : 97balakrishnan
Resume : [[ https://docs.google.com/document/d/1m2xPWAmnREVcf0WeJU-yKHyLNymDcSO779KukUpD36Q/edit?usp=sharing | Resume Link ]]
Location : Chennai,India
Typical working hours: 7am to 6pm Timezone: UTC+5:30
===Synopsis
- Wikimedia Commons is an online repository of free-use images, sound, and other media files.
- The Wikimedia Commons Android app allows users to upload media files and see nearby locations from their android phones/tablets.
- This project aims at providing the option to browse/search the Wikimedia Commons using the app.
- This feature makes the content more convenient to access in the android platform and contributes to the aim of Wikimedia Commons
" To provide a media file repository that makes available public domain and freely-licensed educational media content to all, and that acts as a common repository for the various projects of the Wikimedia Foundation."
=== Possible Mentor(s)
- @Nes
- @Nicolas_Raoul
===Deliverables (To be updated)
====Timeline
| Time | Task |
| 12 - 27 March | Proposal Reviewing and getting suggestions from mentors |
| 27 March - 23 April | Contributing to Commons Repo by reporting issues, making PRs|
| 23 April -14 May | Community bonding and getting familiar with the repos and APIs|
| 14 May | Coding begins |
// Week 1 (14 - 20 May) //
- Familiarising featured images scrollable activity,
- Managing featured images view using Recycler views and libraries.
- Testing and fixing bugs in the activity.
// Week 2 ( 21 - 27 May) //
- Making UI changes to add Search button
- Implementing API Call requests to request Search results ( Initially implemented only for pictures).
- Displaying response results in the activity.
// Week 3 (28 May - 3 June) //
- Implementing threading to load Search results faster.
- Implementing Pagination to load Search results dynamically on page scroll.
// Week 4 ( 4-10 June) //
- Making UI changes to show other media in search results.
- Handling other media results - SVGs and Audio files.
- Getting feedback and testing.
<---- Review 1----->
// Week 5 ( 11-17 June) //
- Documenting initial results.
- Getting feedback and testing.
- Fixing bugs .
// Week 6 ( 18 - 24 June) //
- Making UI changes to implement category searching
- Making changes in API request methods.
- Finalising output according to category.
// Week 7 (25 June - 1 July) //
- Study APIs to analyse APIs how to get best search results.
- Designing the request and response to obtain best search results.
//Week 8 (2 - 8 June) //
- Making UI changes to implement Best search results.
- Getting feedback.
- Testing.
<---- Review 1----->
//Week 9 (9-15 July) //
- Getting nearby search results.
- Making UI changes to implement nearby search results.
//Week 10 (16-22 July) //
- Documentation of the project
- Completion of testing
- Fixing bugs.
===Participation
- Progress on my internship goals would be tracked through project tasks and sub-tasks on Phabricator.
- I will remain active in Email,Hangouts,IRC
- I will regularly blog my learning at [[ https://medium.com/@97balakrishnan | https://medium.com/@97balakrishnan ]]
===About Me
Tell us about a few:
- **Your education (in progress)** : Bachelor of Technology in IT 3rd Year at SSN College of Engineering,Chennai,India.
- **How did you hear about this program?** Through college seniors
- **Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?**
I don't have any other commitments during my semester holidays between May 16 to July 4. I can work ~30hrs a week after that.
- **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 only for GSoC as I am not eligible for Outreachy program. I am applying under Wikimedia Commons Android only.
- **What does making this project happen mean to you?**
It will be a great opportunity for me to contribute to FOSS , gain technical experience and learn a lot of new things.
=====My Contributions to Wikimedia Commons Android:
-- **//It feels great that the issue I originally created has been converted into a GSoC project idea: //**Link: [[ https://github.com/commons-app/apps-android-commons/issues/1221 | Allow users to browse commons app ]]
- Other Issues reported / involved in discussions
-- [[ https://github.com/commons-app/apps-android-commons/issues/1153 | Pull down gesture for Nearby activity ]]
-- [[ https://github.com/commons-app/apps-android-commons/issues/1151 | Navigation drawer gestures ]]
-- [[ https://github.com/commons-app/apps-android-commons/issues/1270 | Remove Manual Nearby updates ]]
-- [[ https://github.com/commons-app/apps-android-commons/issues/1192 | Option to edit Images in app before updating ]]
-- [[ https://github.com/commons-app/apps-android-commons/issues/264 | Refresh Nearby list on swipe ]]
-- [[ https://github.com/commons-app/apps-android-commons/issues/1309 | Making Nearby locations load faster ]]
- Merged PRs
-- [[ https://github.com/commons-app/apps-android-commons/pull/1164 | Pull down gesture for Nearby activity ]]
- Closed PRs
-- [[ https://github.com/commons-app/apps-android-commons/pull/1220 | Added ratings features ]]
-- [[ https://github.com/commons-app/apps-android-commons | Pull down gesture removal for Map View ]]
===Past Experience
===- Infinity Downloader
**[[ https://play.google.com/store/apps/details?id=com.apps.balakrishnan.mybrowser&hl=en | Playstore link ]]**
[[ https://github.com/97balakrishnan/Infinity-Downloader | Github repo ]]
- Android app Infinity Downloader- An Android browser to download all files from a webpage with a single click.
- Specially made for SSN College Intranet files downloading
-- Retrieves the HTML code of the webpage. Uses **HTTPURLConnection** to parse the websites code and extract download links.
-- Parsing is done to extract download links from website
-- Download of files is done using **AsyncTask**.
-- Search suggestions based on Google Suggest Query Api using Retrofit Library.
-- Unsplash API used for generating background images
===- Simple Weather app
[[ https://github.com/97balakrishnan/SimpleWeatherApp | Github repo ]]
- Android weather app WunderGround api
-- Gets the user’s current latitude and longitude using **Location Manager**.
-- Places a request to the WunderGround API and get the response using RETROFIT (Client side REST API)
-- Uses RecyclerView to display the weather forecasts.
==Other Contributions:
===- FancyShowCaseView
- Merged PR [[ https://github.com/faruktoptas/FancyShowCaseView/pull/89 | Replaced android-apt with annotations ]]
===Any Other Info (To be updated)
- Timeline Graph https://image.ibb.co/h5ErHx/Timeline.png
- Search Activity Flow https://preview.ibb.co/nxk6Hx/Untitled_Diagram.png