====Profile
**Name**: Gabriel Lee
**IRC nick**: gabrielchl
**Web profile**: [[https://github.com/gabrielchl|GitHub]] | [[https://meta.wikimedia.org/wiki/User:Gabrielchl|Meta wiki profile]]
**Location**: United Kingdom / Hong Kong
**Typical working hours**: 10am - 11pm UTC+1 / 8am - 10pm UTC+8
====Synopsis
Since Wikimedia Commons introduced structured data to the files hosted on the site, users are encouraged to add structured data to the files. However, sometimes, quantity is weighed over quality. This project aims to create a tool, possibly named “Media Data Verification Tool”, for users to verify the structured data on files hosted on Wikimedia Commons, ensuring that the data on Wikimedia Commons is correct.
The plan is to start with verifying depict statements, if there's enough time, the tool would also have sections for other image data.
**Mentors**: @Eugene233, @NavinoEvans
(expressed interest to participate in this task)
====Prototype
[[ https://github.com/gabrielchl/media-data-verification-tool | Media Data Verification Tool on GitHub ]]
====Deliverables
At the end of the program, we should have a tool that:
- Requires users to login using OAuth
- Shows users description of images (during the program, it should cover depict statements, if allowed, we can extend to other data types)
- The told would allow the user to choose to retrieve images from recent changes, a category or a tag (e.g. ISA)
- Let's users select if the description is true or false (probably also allow a user to undo his/her selection)
- If the user isn't "trusted" (edit count less than a certain threshold), save the change locally till it gets reviewed by a trusted user
- Have a user page to show statistics of a user’s contribution (maybe also a history of a user's record on the site)
- All code are written elegantly
=====Timeline
The following timeline sets the deadlines. However, it is highly likely that we will achieve more than what's listed below.
**27 April - 17 May**
//Community bonding period//. Create tool on toolforge, create repo on Gerrit, create project on Phabricator. Discuss implementation details with mentors.
**18 May - 31 May (2 weeks)**
Set-up development environment. Create the core part of the tool with OAuth login and the ability to get user details.
**1 June - 14 June (2 weeks)**
Add ability to retrieve statements from Commons and show to the user. Ability to save changes.
**15 June - 22 June (2 weeks)**
//Phase 1 evaluation//. Documentation and bug fixes. User statistics page.
**29 June - 12 July (2 weeks)**
Write tests.
**13 July - 26 July (2 weeks)**
//Phase 2 evaluation//. Internationalization.
**27 July - 9 August (2 weeks)**
Writing documentation.
**10 August - 16 August**
//Code submission and student final evaluation//.
**17 August - 23 August**
//Mentor submit final evaluation//.
**25 August**
//Results announced//.
====Participation
- Work on and upload code to the repository every weekday, sometimes weekends too.
- Be online on IRC during my working hours (I am usually very responsive as long as I'm up) (we could probably use other medium of communication depending on the mentor' preference).
- Use Phabricator to track tasks and progress.
====About Me and Past Experience
- I am a student from Hong Kong, currently studying Computer Science at [[ https://www.lancaster.ac.uk/ | Lancaster University ]], United Kingdom.
- I am the maintainer of [[ https://commons.wikimedia.org/wiki/User:Gabrielchihonglee-Bot | gabrielchihonglee-bot ]], running on Toolforge, using pywikibot, mainly performing edits in Commons (80k+ edits), also an adminbot on Chinese Wikivoyage, sometimes on other wikis.
- I am an [[ https://meta.wikimedia.org/wiki/Special:CentralAuth?target=Gabrielchl | admin on Chinese Wikivoyage ]], so I do understand how wikimedia projects works.
- I am comfortable coding in C, Java and Python. I do have a little bit of experience with Flask. I am also familiar with git.
- I've set up and am maintaining several websites.
- Why this task: it's at the sweet spot between too-hard and too-easy for me. Allows me to learn while using my existing knowledge.
====Related-Tasks
Most of them are ISA-related. I initially started working on it just for this application. But I found it interesting (and a bit addicting), so I think I will continue contributing to ISA or maybe other tools in the future. :)
**Recently completed**
T230942, T245759, T226306, T246657, T246652, T231831, T231193, T231466, T234526, T246651
(along with a few non task-dependent patches)
**Waiting for code review**
T225817, T234860, T232434, T226316, T228512