Profile
Name : AMOWOGBAJE Gideon
Time zone : UTC +1
Email : amowogbajegideon@gmail.com
IRC username : goldengide
Gerrit : Goldengide1
Location : Ile-Ife, Nigeria
Working hours: 15:00 UTC - 20:00 UTC(Sunday) and 19:00 UTC - 01:00 UTC (every other days)
Synopsis
Cargo is an extension to MediaWiki that provides a lightweight way to store and query the data contained within the calls to templates, such as infoboxes.
This project is aimed at providing a lightweight way to store and query the data contained within the calls to templates such as infoboxes.
In my words the purpose of this project is to make search experience on mediawiki more awesome. Users will be able to query, store query and can even export the result to formats including pngs. jsons, csv and barchart.
After reviewing the code for cargo extension. I believe the project will focus on the following list
- Defining a user interface for the extension
- Choice of the concepts and approach to use for implementation of project.
- Implementation of search and query functionality with PHP and SQL
Possible Mentors: Nischay( @Nischayn22 ), Yaron Koren( @Yaron_Koren ), Tobias Oetterer ( @Oetterer )
Deliverables
Currently applied to fix the bug T127928.
Objectives
- Discussion with mentors on other tools that needs to be added to my knowledge repository for the project.
- Discuss available implementations to be to ensure maximum efficiency with mentors
- Add support for declaring hierarchy fields
- Add support for querying hierarchy fields, using a new Cargo keyword, "WITHIN".
- Add support for such fields within Cargo's Special:Drilldown interface
- Add support for hierarchy fields in the Page Forms extension
- Also make hierarchy fields easy to create in Page Forms' helper pages
Proposed Timetable
Week | Timeline | Tasks to be completed |
April 3 - May 4 | Solve more issues and also make research on how to optimize SQL query for fast run time | |
May 4 - May 29 | Communicate with mentors and socialize with the GSOC participants and get familiar with IRC channel and also contribute to questions. | |
1 | May 30 - June 3 | Work on implementing the database schema for the cargo database. |
2 | June 4 - June 10 | Add support for declaring and querying hierarchy fields and also for the new Cargo keyword 'WITHIN'. |
3 | June 11 - June 19 | Perform test, perform code refactoring, incorporate feedbacks from Mentors, make submission ready for first phase evaluation & write documentation of the Project so far. |
4 | June 20 - June 26 | Phase 1 Evaluation. |
5 | June 26 - June 30 | Get familiar with the Drill down analysis. Make research and write code to implement the drill down functionality. |
6 | July 2 - July 8 | Improve on the existing SQL query to optmize the query for general hierarchical field. |
7 | July 9 - July 15 | Add support for hierarchy fields in the Page Forms extension to recognize the right input type('tree') |
8 | July 16 - July 23 | Perform test recursively to ensure an error-free project, incorporate mentor's feedback, refactor code, dress up submission for the second phase and update documentation for project. |
9 | July 25 - July 28 | Phase 2 Evaluation |
10 | July 25 - July 29 | Add support for hierarchy field and its ease of use in Create Template page, incorporate feedbacks from mentors and perform documentation. |
11 | July 30 - August 5 | Add support for hierarchy field in Special:CreateTemplate page, incorporate feedbacks from mentors and update documentation for project. |
11 | August 6 - August 12 | Add support for hierarchy field in Special:CreateClass page, incorporate feedbacks from mentors and update documentation for project. |
12 | August 13 - August 20 | Perform final testing, finish up project early enough before deadline.. |
13 | August 21 - August 29 | Final Evaluation |
Participation
I plan to communicate progress by discussing tasks and getting feedback on Phabricator, also I plan to setup IRC on my android.
I will also be actively using Gmail for sharing work status and related documents(design) with my mentors.
Weekly Project report will be updated in Project Progress page
For version control, I use git. I plan to publish source code on GitHub and get feedback on the same, I also plan to be online 24/7 but will be consistently available from 19.00 UTC to 12:00 UTC
Also other mediums and tools encouraged by my mentors will be set up
About me
I am a 23 years old student from Obafemi Awolowo University, Ile-Ife. Nigeria. I am attending an extra semester of a B.Sc. Computer Engineering degree at the University of Obafemi Awolowo University.
In my free time I enjoy writing lyrics, solving mathematical problems, brainstorming and coming up with cool things to implement with my PHP
Why contribute in Wikimedia?
I am contributing in Wikimedia because I want to take my programming skills further to a higher level and in doing so have an impact on someone's life.
Why I am the right person for this project?
- The fact that successful completion of this project needs the tested knowledge of SQL and PHP cannot be over emphasized. I know PHP and SQL and how to use them present information in a cool way.
- I am willing to give my all to this project.
- After reviewing the code on my PC I saw the file structures of the code and I know I am up to learn something more.
- Most of my projects are yet to be live on the internet but of recent I wrote a basic CRUD application to manage my church bio-data information. I added some functions to clean the data and structure it after importing it to my database table from csv format and later added a function to export the information in a structured format first to csv file format then to json, txt and tsv.
- I also added another function to export phone numbers to a json/csv/tsv/txt file such that the application automatically generate phone numbers in a format that a bulk SMS application can relate with and its api can accept as an input parameter. I also did the same emails but only separated each emails with a comma. When I went through the code I saw that I will have fun doing this project.
- I will having a lot of time. I will not be offering much course in my final semester.
Experience
Open Source
I have also been able to review some codes and I hope to fix a big after the pressure of the exam is off
Will fix the bug mentioned in the deliverable section after my exams.
Free time
- Android Dpi Helper is an helper plugin in PHP that helps to automatically re-size png images to different sizes xhdpi, hdpi, to ldpi on Github. I wrote the code during my spare time. I plan to make a friend write the same algorithm in python.
- SQL Query generator: though this code was not published but I still like to talk about it. It is a function that generates an SQL query for inserting to a table by taking an array as input. The array keys serves as the table column while their corresponding values are the insert values for their corresponding columns.
- Pascal Triangle Generator: I wrote this code to help my younger brother with his assignment for solving binomial expansion problem so instead of writing it down he typed the number of the power on the mini application
Work
Working as Web Developer for iQube Labs Nigeria.
Projects
- Medifix
- Medifix is a website that provides IT services to improve healthcare in Nigeria
- Fixed some bugs in the website and updated it from the correction of omission of full stop to fixing animations gone wrong.
- Redbank
- Redbank is a product of Medifix. It is a health application that helps to find the nearest blood bank around you especially in the case of emergency. The website explains better.
- Added the functionality that enables the web app version of the application to select states and generate its corresponding local government after which the application won the third place for the Aso Villa Demo Day Hackathon 2016. -Also corrected some obscured mistakes on the website of recent. No matter how little a change is it is worth it.
Other Info
Programming Languages: PHP, SQL, HTML, CSS and JS.
Frameworks
PHP: Laravel, Slim, CakePHP and CodeIgniter
CSS: CSS Bootstrap, LESS, and SASS
JS: Node Js, Jquery library and UIs.
Tools: Git, Github, Bitbucket, Gerrit.
Other commitments
My Semester examination ends on April 13, so I will have enough time to work on this project.