From Fedora Project Wiki

Revision as of 09:31, 24 March 2016 by Dhrish20 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

About Me

My name is Dhriti Shikhar. I live in Pune, India (UTC +5:30). I am a final year student pursuing engineering in Information Technology.

Contact Information

Why do you want to work with the Fedora Project?

I would like to work with Fedora Project because I like the idea of contributing to an Open Source community. I started using Linux since 2013. My first distro is Fedora and I still use Fedora. I believe I can improve my skills in software development while helping the Fedora Project move forward.

Do you have any past involvement with the Fedora Project or another open-source project as a contributor?

Yes.

Have you participated in GSoC in the past? If so, what year(s) and which organization(s)?

No, I have never participated in GSoC before.


Do you plan to continue contributing to the Fedora Project after GSoC? If yes, what sub-project(s) are you interested with?

Yes. I will continue contributing to Fedora as much as I can, especially Fedora-Infrastructure projects. I believe that the Fedora-Hubs project is full of possibilities. There are so many features and ideas which can be implemented in the both Front End as well as Back End. It would be really great to be a part of the project.


Why should we choose you over other applicants?

  • I possess the knowledge of code base of Fedora-Hubs. I have worked in the making of 5 widgets (Pagure PR, Pagure issues, Github PR, Github Issues and Bugzilla Widget) uptil now for Fedora-Hubs.
  • I am willing to contribute to Fedora-Hubs and support the project even after GSoC
  • I have a good working knowledge of Python, Flask, Git.

Have you contributed to any other open source organizations or projects? If so, do you have artifacts you can show so we can see your skill set(s)?

I have contributed to OpenStack Documentation before. Stackalytics: http://stackalytics.com/?user_id=dhritishikhar&project_type=all&release=all&metric=all&company=


Do you have any other open source experience (even if not coding-related)?

  • I have participated and volunteered in PyCon India 2015, 2016.
  • I have mentored in PyCon India DevSprint 2016 for Pagure (https://in.pycon.org/cfp/pycon-india-dev-sprint-2015/proposals/pagure-github-for-fedora/).
  • I have presented a poster on Pagure in the poster presentation in PyCon India 2016 (https://pbs.twimg.com/media/CQn2H6MUEAAGi10.jpg:large)
  • I am a regular participant of Pune Python Meetup. I have presented a talk on "Getting started with Fedora-Infra" and my next upcoming talk/ workshop is on "Fedora-Hubs" where in I will discuss how I started with Fedora Hubs and how to start contributing to it.
  • I have participated in Fedora meetups in Pune.
  • I took a workshop in Pune Pyladies on Git for beginners.
  • Participated in Gnunify and FudCon 2015

Proposal

Overview and Need

Being a contributor myself, I understand the hurdles any new contributor has to go through in:

  • finding easy fixes
  • keeping a track of activity
  • setting up IRC
  • Following the mailing list

Fedora-Hubs is a contributor-focused platform. It is a single platform where you can:

  • get information on various projects
  • collaborate with other contributors

IRC widget for Fedora-Hubs is one of the most interesting feature for Fedora-Hubs and would be a great impact on new contribuors.

New contributors face a challenge to use IRC as it is different from other chat mediums. Some of the problems they face:

  • Which IRC client to use? → web based, desktop based
  • How to install desktop based IRC client
  • Registering on Freenode
  • Finding the right channel
  • using IRC commands
  • learning IRC etiquettes

The aim is to provide a web-based easy-to-use IRC widget. So that:

  • New contributors do not face the problems and can easily get started with contributing.
  • Experienced contributors do not face disturbance in their work flow

The IRC widget should be lightweight and deploy fast. It should be attractive with easy User Interface.

Relevant Experience

  • I have worked with 5 features for Fedora-Hubs before:
    1. Pagure Pull Request Widget (https://pagure.io/fedora-hubs/pull-request/56)
    2. Pagure Issues Widget (https://pagure.io/fedora-hubs/pull-request/55)
    3. Github Pull Request Widget (https://pagure.io/fedora-hubs/pull-request/67)
    4. Github Issues Widget (https://pagure.io/fedora-hubs/pull-request/66)
    5. Bugzilla Issues Widget (https://pagure.io/fedora-hubs/pull-request/82)
  • Other patches in fedora-hubs:
    https://pagure.io/fedora-hubs/pull-request/103
  • I have worked with Python and Flask during my Internship
  • How I intend to implement my proposal

    • Study the ircb in detail
    • Send patches to ircb
    • Discuss the design of IRC client with design team of Fedora Hubs
    • Start by implementing the Front end of the IRC widget
    • Prepare the basic widget and achieve High Priority tasks
    • Specially emphasis on the User Interface for IRC widget
    • Frequently get the code reviewed by mentors. Work and make changes as per their inputs.
    • Work on other medium and low priority tasks
    • Test the code thoroughly
    • Regularly blog and prepare good documentation

    Time line

    Task
    Before April 22 (3 weeks approx.)
    • Dig through the source code of ircb to find ways to implement the features
    • Send patches to ircb
    April 22 - May 22 (community bonding)
    • Discuss the approach from mentors
    • Finalize the design by talking to the design team of Fedora Hubs
    • Continue to send patch to IRCb to implement the feature
    May 23- May 31
    • University End Semester Exams
    • Divide tasks based on priority
    June 1 - June 8
    • Start building the front end of IRC widget
    June 9 - July 15
    • Start working on High priority tasks
    July 16 - July 20
    • Fix bugs
    • Test code
    • Get the code reviewed by mentor
    July 21 - June 28
    • Mid Term Evaluations
    June 29 - August 4
    • Work on medium priority tasks
    August 4 - August 11
    • Work on low priority tasks
    August 11 - August 15
    • Work with mentors to integrate the IRC Widget with Fedora-Hubs
    August 16 - August 24
    • Fix bugs
    • Test code
    • Get the code reviewed by mentor
    After August 24
    • Continue maintaining IRC widget and adding new features
    • Work on other widgets and issues


    During the internship period I will constantly communicate with mentors and community. Ask for inputs and review and work accordingly. I also plan to maintain blog post in which I would log about:

    • Progress of the making of widget
    • New technologies/ methods learnt while making the widget
    • Final Deliverable

      An integrated IRC widget with following features:

      • Embedded IRC channel for team hub
      • Private Messaging feature
      • An alert system/ notification for unread messages which is useful when user is:
        1. In different hub
        2. Logged out
      • Inline Image and link sharing

      Finally,

      • A fully functional and thoroughly tested code
      • A detailed documentation

      Other Ideas:

      • Link IRC nick to make it easier to find people
      • Prepare a graphical guide to help newbies to access IRC

      Miscellaneous Information

      • The knowledge I gained while making widgets for Fedora Hubs and working with API will be helpful
      • I am sure that I can complete this project because I'm really interested in having this feature in Fedora Hubs

      Potential Mentors

      • Remy Decausemaker(decause)
      • Corey Sheldon(linux modder)
      • Justin Flory(jflory7)