Page MenuHomePhabricator

GSoC 2019 Proposal: Develop code samples in Javascript and PHP to demonstrate the use of MediaWiki Action API modules
Closed, DeclinedPublic

Description

Profile Information

Name : Venkata Sai Sumanth Javvaji
Email : saisumanth532@gmail.com
IRC nickname : saisu69
Github : https://github.com/sumanth699
Location : Guntur, India.
Typical working hours (include your timezone) : 10:00 AM to 7:00 PM UTC+5:30
On college days: 6:00 PM to 11:00 PM UTC +5:30

Synopsis

The project aims to develop code samples in Javascript and PHP for demonstrating the use of MediaWiki Action API modules with the following objectives.

  • Design a tabbed window on these API's using a template or a gadget
  • To bring consistency in the sample codes
  • Create code samples in Javascript and PHP
  • Document the code samples on Wiki
  • Develop a demo web application on the usage of Action API's

We create code samples in Javascript and PHP by using code generator or manually for all the API pages that have proper documentation, document these samples on-Wiki and develop one or more demo web applications on their usage. Finally we will design a page on Wiki that contains all the API's with a tabbed window displaying sample codes in different programming languages and their documentations. We will develop a demo application using Python by importing Flask module for the backend. And for frontend, we will use HTML and CSS.

Possible Mentor(s): @srishakatux @srodlund
Have you contacted your mentors already?

  • Yes, I've contacted @srishakatux and informed my interest in working in this project.

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
    • After the completion of this project, we will be having the MediaWiki Action API's on a single page with tabbed windows showing consistent sample codes in Javascript and/or PHP and their documentation by which users can easily understand their usage.

Timeline

PeriodTask
May 6 to May 27Community bonding period. Studying about MediaWiki Action API's, about existing code samples in different programming languages and studying about API modules. Planning design of the code generator to generate Javascript or PHP files for modules supporting get request. Planning the design for creating a tabbed window to show the responses. Contacting the mentors and clarifying all the doubts with them regarding the project.
May 28 to June 4Getting familiar with the code samples already present.
June 5 to June 10Designing a code generator that will generate Javascript and/or PHP output files or use the available one.
June 11 to June 19Generate code samples in Javascript and/or PHP using the generator or manually.
June 20 to June 24Testing the code samples generated and fixing the bugs raised.
June 24 to June 28Phase I evaluation
June 28 to July 10Designing a page that displays all the API's with tabbed windows via a template or a gadget.
July 11 to July 20Starting the documentation work for all the code samples.
July 20 to July 22Checking the Documentations and moving them from Drafts.
July 22 to July 26Phase II evaluation
July 26 to August 10Finalizing the API's on which demo apps are to be created.
August 11 to August 19Creating the demo application using Python Flask for backend support and HTML and CSS for the frontend.
August 19 to August 26Submitting the code samples developed, their documentations and demo app tutorials to the mentor, publishing the news on mailing list and solving any raised bugs.Submitting the code samples developed, their documentation and demo app tutorials to the mentor, publishing the news on the mailing list and solving any bugs identified.
August 26 to September 2Mentors submit final student evaluations.
September 3Final results of Google Summer of Code 2019 announced

Participation

  • I will make a new repository on Git Hub and maintain two branches. The code will be uploaded to the developer branch periodically and will be merged with the master branch once review and testing’s are done by the mentors.
  • I will use Phabricator for managing bugs and subtasks.
  • I will be available via Gmail/Zulip to be contacted when needed in the non-working hours.

About Me

Tell us about a few:

  • Your education (completed or in progress)
  • How did you hear about this program?
    • I got to know about this program from my senior and also from @srishakatux during a remote session on “How to contribute to technical spaces of Wikimedia”, a MediaWiki Training that happened in our college, conducted by the Wiki-club, VVIT WikiConnect.
  • Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
    • We will be having summer vacation from May 7 till June 5. After the vacation, I will be taking permission from my college to exempt me from regular class work and to permit me to work on this project. I’ve already had a discussion about this with our college’s Academic Secretary.
  • 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 only applying for only Google Summer of Code.
  • What does making this project happen mean to you?
    • Currently, there isn't a page that shows the tabbed window view of the API’s under MediaWiki Action API and consistent examples in a single language for those with proper documentation. Thus by completing this project I aim to make consistent code samples and proper documentation on their usage and will bring them together to a single page.

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

  • During my last summer vacation, I interned with a software company Coprimes and made changes in their already existing Web App related to school attendance system, as it is not an open source organisation the part I changed cannot be shown.
  • After that, I learnt how to make a chatbot and using Google dialogue flow I created a static chatbot that checks and tells us how much balance is left in our bank account.
  • I also got certified training on Amazon Alexa and also created a skill set by which we can locate a nearby Cafe. You can see the conversation with Alexa here.
  • Using Deep learning Techniques Keras, Tensorflow and pandas I developed and trained a model that can identify the plant seedlings of around 12 varieties which are of different stages and can also describe at what stage of growth the plant is, the source codes and abstract of this project can be seen here.

Open Source Contributions

Any Other Info

Add any other relevant information such as UI mockups, references to related projects, a link to your proof of concept code, etc

  • My Wikimedia user page can be seen here.

Microtasks Completed

Event Timeline

@Sumanth699 Looks great! The only thing that needs a change in your proposal is the section between Phase 1 & 2. What I imagine is that the documentation of code samples will happen alongside the coding work. So, the one month time period that you've allocated to documentation work feels too much. Some of the work in Phase 1 can be moved to Phase 2.

This is completely optional, but in the previous experience section, if you could also include a link to the codebase of some of your past projects, that would be great! If for some reason you cannot, then no worries!

When you are done making the changes, move your proposal to the submitted column on Google-Summer-of-Code (2019) board. Also, remember to upload it on the program website before the deadline.

@srishakatux thanks for the review mam, I made the changes in the timeline shifted the Design of tabbed window page from phase 1 to phase 2.

(look for next steps in the email you'll receive shortly with an option to request for a debrief on why your proposal was not accepted)