===Profile Information
Name : Ujjwal Agrawal
Email : ujjwal.iitism@gmail.com
IRC nick : ujjwalagrawal17
Blog : https://ujjwalagrawal.wordpress.com/
Github : https://github.com/ujjwalagrawal17
Location : India (UTC +5:30)
Typical working hours : Between 2 pm and 4 am UTC +5:30
===Synopsis
- Short summary describing your project and how it will benefit Wikimedia projects
- Possible Mentor(s)
- Have you contacted your mentors already?
===Deliverables
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
=Timeline=
| **Period** | **Task** |
|------------ |-----------|
|April 23 to May 14|**Community bonding period**. Studying existing tools for uploading media to commons. Studying the Commons metadata fields in depth. Planning the design of the tool including both the frontend and the backend. Compiling a list of GLAMs. Adding and structuring the corresponding tasks in Phabricator. Requesting access to Tool Labs.|
|May 15 to June 5|Designing the basic UI templates for the FLASK app. Study the API of a number of GLAMs to decide what metadata suits the best for writing a generic file title generator module based on the metadata extracted from the GLAM API. Write the relevant code.|
|June 6 to June 18|Design the core elements of the FLASK app including the modules for license checking, metadata mapping and batch upload. Learn how to do the OAuth authentication using Wikimedia Commons login credentials and integrate that into the tool.|
|June 19 to June 21| Contacting with a number of GLAMs to consider the viability of having a "Upload to Wikimedia Commons" button on their image collection site. Design an action plan based on the input received from this communication.|
|June 22 to June 26| Testing Round 1: Sanity Testing, exploratory testing, automation testing and documentation. |
|June 11 - 15|**Phase I evaluation**|
|June 30 to July 5| Work to make the tool have the ability to provide the flexibility of choosing a number of desired files (may be by providing checkboxes against the image thumbnails) and quickly upload them to Commons (may be by a single click button)|
|July 6 to July 10| Design a template for the metadata mappings and easy way to update/edit them.|
|July 11 to July 16|Take input from all the stakeholders including the GLAMs regarding the UI and work on the UI part extensively.|
|July 16 to July 20|Receive feedback and do changes if necessary.|
|July 21 to July 27|Testing Round 2: Exploratory testing, automated tests and bug fixes and documentation.|
|July 9 - 13|**Phase II evaluation**|
|July 22 to July 29|To give the option to search for images based on a searchstring across the selected GLAMs and upload the desired ones.|
|August 8 to August 16|Write metadata mapping for a number of GLAMs.|
|July 9 - 13| Testing Round 3: testing the robustness of the app with the new metadata mappings already created and bug fixes.|
|August 6 - 14|Freeze the code. Create a page in the Wikimedia Commons on our tool where people can suggest new GLAMs for metadata-mapping and possible changes in metadata mapping for existing GLAMs. Announce the tool to the Wikimedia community somewhere on Commons.|
|August 14 - 21|Mentors submit final student evaluations.|
|August 22|**Final results of Google Summer of Code 2017 announced**|
|--------------|-------------------|
===About Me
Tell us about a few:
Currently in the Junior year of B.Tech in Electronics and Communication Engineering in Indian Institute of Technology (ISM), Dhanbad. Heard about GSoC in a campus meetup. I have been doing Android App Development from last 2 years so explored a little and found Wikimedia Foundation interesting to me.
- How did you hear about this program?
- Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
- We advise all candidates eligible for Google Summer of Code to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?
- What does making this project happen mean to you?
===Past Experience
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). If you have already written a feature or bugfix for a Wikimedia technology such as MediaWiki, link to it here; we will give strong preference to candidates who have done so
==== Pull requests made by me
https://github.com/commons-app/apps-android-commons/pulls?q=author%3Aujjwalagrawal17+is%3Aclosed
==== Issues opened by me
https://github.com/commons-app/apps-android-commons/issues?q=author%3Aujjwalagrawal17+is%3Aclosed