= Project Title =
Wikimedia Emoji Bot for Commons Images
= Personal Information =
Name: **Alangi Derick Ndimnain**
Email: **alangiderick@gmail.com**
IRC Nick: **d3r1ck**
Github: **[[ https://github.com/ch3nkula | Github Profile Page ]]**
= Background Information =
- I'm an active member and an organiser for the Google Developer Group in our community (Buea) and have participated in various GSoC(Google Summer of Code) meet-ups organised in our community to sensitise and mentor young, talented and motivated students to contribute to Open Source movements.
- Elite Programmers Club is a club that was founded in our University to teach, enhance and empower programming skills to interested students, and I am an administrator and mentor in the club. [[ https://www.facebook.com/groups/eliteprogrammingclub/ | Here ]] is the link on Facebook.
- #ublab is an IRC channel on Freenode that we use for the above mentioned club (EPC) and we also use it for communication and I am a channel operator in this channel. Basically, this channel is used to bring together students and interested persons in our community to mentor them how to be good software engineers and programmers in the nearest future.
- Holder of a Computer Engineering degree (BEng), specialising in Software Engineering from the University Of Buea and currently and Masters student in Software Engineering.
- I have been contributing to WMF for about over 1.5 years now and here are my [[ https://gerrit.wikimedia.org/r/#/q/owner:D3r1ck01+status:merged,n,z | contributions ]], where I have contributed patches across many different extensions.
- Was a GSoC participant for 2016 where I worked on a project to connect IFTTT API and the Wikidata APIs. The project was successfully completed and here is the project: T118463 and also, here is my proposal: T129016. I am so happy and thankful to my mentors (@Slaporte, @Lydia_Pintscher, @hoo and @Bene) for their great efforts they put in so I could realise this project in the end of GSoC 2016. From time to time, I still do some work on the project (improving it and adding more features and documentation).
- Opportune to obtain a full scholarship to attend a **Wikimedia Conference (WikiIndaba 2017)** this year (2017) in Ghana where all Wikimedians are brought to share ideas and discuss about the future of Wikimedia projects. I was opportune to meet most WMF staffs and other great Wikimedians. We share our experiences and ideas and after the conference, I found myself in an a better path as a Wikimedian.
= Other works =
- I am a big fan of Github and most of my codes lives there. Below is a list of projects I have built and deployed which are running live;
-- [[ http://tools.wmflabs.org/ifttt-testing/ifttt/v1/rss-feeds | Wikipedia RSS Feeds ]]: Part of my GSoC 2016 project to list RSS feeds for various Wikipedia triggers which can then be used in an RSS feed reader for information update.
-- [[ http://tools.wmflabs.org/durl-shortener/shortener.php | URL Shortener ]]: A PHP version of a simple URL shortener that is deployed on labs and can be used to shorten URL. Check it out.
-- [[ https://efarm.cm | eFarm ]]: An agricultural platform for buying and selling of agricultural products. Currently in a beta version.
- This a web version of phone book that also implements some search algorithms using SQL and was built also using the Bootstrap Framework and PHP. Link [[ https://github.com/ch3nkula/Living-WebSite-Application | here ]].
- Worked on an Eggdrop bot for our channel #ublab and customised it to suite our needs, adding Tcl Scripts to add more features to the bot. [[ https://github.com/EliteProgrammersClub/ublab_bot | Here ]] are the codes and Documentation on how to run, use and customise the bot was done by me.
- This is an Inventory Management System project that is aimed at evaluating us for the completion of CEF415 course in the University of Buea(my institution) and [[ https://github.com/ch3nkula/IMS_Soft400 | here]] is the link.
- Worked on a project in fulfilment of our Second semester course(CEF308) while I was in the second year in the department of computer engineering(level 300). It was named the living website, and [[ | here ]] is the link.
= Programming Background =
- Technical Skills
-- **Programming Languages**: PHP (Excellent), Python(Intermediate), JSON (Excellent), JavaScript (Intermediate), CSS (Excellent), SQL (Proficient), HTML (Excellent), GoLang (beginner).
-- **Software Tools**: Secure Shell, Git/Github, Gerrit, IFTTT, Linux OS (Ubuntu) and derivatives, Subversion, Vagrant, Composer, Wikimedia Tool Labs & Phabricator, .
-- **Frameworks**: Flask (A Python Micro-framework), Laravel (PHP Framework)
- Hour of Code Certified, view certificate [[ https://www.dropbox.com/s/jln2859uzmqczqa/f4463ce46303f4ed61de066d35cdfd5b.jpg?dl=0 | here ]].
- Participated in the ACM ICPC contest in 2014, and [[ https://www.dropbox.com/s/0z33i12ik1ms014/ACM_Membership_Card.pdf?dl=0 | here ]] is my membership card.
- Google Code-In 2015 Mentor under Wikimedia, view certificate [[ https://www.dropbox.com/s/6v0z7tplnc2kxu0/Alangi%20Derick%20-%20GCI%20Certificate%202015.pdf?dl=0 | here ]]
- Google Code-In 2016 Mentor under Wikimedia, view certificate [[ https://www.dropbox.com/s/7spzji3c8mvuafy/Alangi%20Derick%20-%20GCI%20Certificate%202016.pdf?dl=0 | here ]]
- Google Summer of Code student participant under Wikimedia, view certificate [[ https://www.dropbox.com/s/93d0vlees0txtjx/gsoc_student%20for%20Alangi%20Derick.pdf?dl=0 | here ]]
= Project Mentors =
Primary mentor: @Dereckson and @ArielGlenn
Co-mentor: we may add a co-mentor, tbd, @MelodyKramer expressed interest
Support: @Yurik for JavaScript/Node-specific issues
= Synopsis / Project summary =
Wikimedia Emoji Bot project is a project meant to provide access to Twitter users to get Commons images counterparts of tweeted emojis. So basically, when a Twitter user tweets a valid emoji ( say: Smile Emoji :) ), the bot should reply the user's tweet with a Wikimedia Commons image (randomly selected from a smile domain space of images) corresponding to someone smiling. In addition, the bot should also be able to interpret text based emojis like this ( ^-^ ), then match it to a corresponding commons image.
== Project repository ==
* Github link to the project (as at now): [[https://github.com/ch3nkula/Wikimedia-Emoji-Bot | Wikimedia Emoji Bot]].
* So far, some pre-requisite work has been done on the project and configs, documentation and basic setup has been done on the project.
* The project has been hooked up for Continuous Integration (CI) testing on Travis and builds are passing. :)
= Detailed project description =
<To be Developed>
= Development Schedule / Timeline =
<To be Developed>
= Time Availability =
I would be able to offer 45 hours per week on the project. Also, to meet up with the demands of the project, I will be coding during weekends (occasionally) and regularly informing my mentors on my progress on the project and regularly updating my wiki report page or phabricator ticket of the project. I will mostly be programming in the evenings due to school during the day but if working on Saturdays and/or Sundays, I will probably be programming through out (day and night). Of course, this will be adjusted based on the time-zones of the mentors and mine.
= Why Wikimedia Foundation (WMF)? =
Wikimedia Foundation is an organisation which focuses on encouraging the growth, development and distribution of free, multilingual, educational content, and to providing the full content of these wiki-based projects to the public free of charge. This is an organisation worth working with to make my continent (Africa) especially Cameroon to be sensitised about such opportunity of the sum of all free knowledge. This will go a long way to improve my community and Africa including the world as a whole in terms of education and academics "for free". Since the African community is somewhat lacking in the global movement, this is the reason why I decided to forge into the movement, hence filling the gaps.
= Why this project and why me for the project? =
Wikimedia Commons usually have very beautiful pictures that people might want to see all over the world, with this project, text/gif based communication with a bot like this can reveal some very beautiful pictures on Commons making people aware of a platform like this, hence, increasing Wikimedia Common users so they can also add more pictures to the platform. In addition, with this project and Twitter as a platform that powers many users, this is an opportunity to increase awareness of Twitter users to know about the Wikimedia movement and its projects (and how they can use it to impact themselves and their community), hence, fulfilling the goal of the movement.
= Work after GSoC 2017 on the project =
This is a long term project and will need to be improved after the GSoC period as more and more images on Commons keep adding (matching emojis) and also more and more emojis keep coming up every single day. So as work after GSoC, emojis (new or old) that don't yet have a commons picture counterpart will be filled up and new features will be added to the bot. And maybe in the future, some AI algorithms will be used to populate the JSON file of emojis to commons images.
= My Contributions =
- Since I joined the Wikimedia Foundation (WMF) around September 2015 till now, I have contributed in several ways in the improvement of this organisation both in coding, mentoring outreach programs and also in community perspective by being one of the leaders of a Wikimedia User Group in my country.
- In terms of coding and submission of patch sets (PS), I have dozens of cycles of merged PSs. Are you interested in checking it out? Here: [[ https://gerrit.wikimedia.org/r/#/q/owner:D3r1ck01+status:merged,n,z | here ]] and more are still to come :).
- Also in terms of Mentoring, like I mentioned above in my Programming Background section, I mentored the Google Code-In 2015 program and also Google Code-In 2016 under Wikimedia. Currently, I am coaching a team of female developers hoping to participate in the RGSoC program under Wikimedia (as mentoring org).
- My Contributions to WMF Code base - Extensions Worked on
-- Echo Extension
-- Gather Extension
-- Graph Extension
-- Mailgun Extension (co-authoring)
-- MobileFrontend Extension
-- Newsletter Extension
-- Semantic Forms Extension
-- Thanks Extension
-- Wikibase Extension
-- WikibaseJavaScripAPI Extension
- Also worked on OOJs/UI and MediaWiki Core.