Summer of Code/2018/Making a Beginner Guide
< Summer of Code | 2018
Google Summer of Code 2018 Project Proposal
Project Name: Making a Beginner Guide | Developer’s dashboard | Sugarbot
Mentors
- Jaskirat Singh
- Hrishi Patel
- Rishabh Thaney
- Shivang Shekhar
- Samson Goddy
- Abdulazeez Abdulazeez
My Profile
- Name: Pratul Kumar
- University::The LNM Institute of Information and Technology
- Course: B.Tech. in Communications and Computer Engineering
- Year: 2nd year (4th semester)
- Email: pratulkumar1997@gmail.com
- Telephone: +91-8107525493
- IRC: Pratul1997
- Sugar Labs wiki UserName: Pratul1997
- Github: Pratul1997
- Linkedin: pratul1997
- Facebook: Pratul1997
- Languages: English, Hindi
- Time-Zone: Jaipur , India UTC+5:30
Open Source Contribution
- Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?
- Yes I have been contributing to Open Source since September 2017.
- Organisations :
- Sugarlabs
- CybrosX (Open-Source Organisation of my college Computer Club)
- I am managing one Open-Source organization of my college.
-
- LNMHacks 2.0 Website( LNMHacks is the Hackathon conducted by LNMIIT in November )
- Pull-Request-and-Hacktoberfest( To promote Open Source Contribution during October )
- My first Pull request: Removed Material CSS #14
- Open Source is a self-learning and motivational path for me and I want to completely indulge in this practice for 3 months during this summer.
Project Proposal Information
Proposal Abstract
- To make a beginners guide for the SugarLabs Community. A platform for guiding them how to contribute through making these form :
- Where to start?
- What to start?
- How to start?
- Where to submit?
- We need to convert the markdown and grasp the information from different places to bring all the information at a single place which can also be used as sugarlabs.github.io
- The basic goal is to help new developers to our community to get settled easily in the world of SugarLabs.
- To work to make a dashboard for the users so that they can get to know about developed and developing areas, track the project as well as their progress and performance. Their contribution could also be seen by the community.
Current Status of Project
Dashboard Features
Badge Feature in Dashboard
Add Shortcuts
Sugarbot
- I propose to integrate a bot, called SugarBot with Sugarlabs GitHub repository.
- Sugarbot will keep track of repositories and when an issue is being opened, and the maintainer of the repo attaches easy, medium, hard, GCI, GSoC label to it on GitHub.
- This bot will automatically reflect it to the web page, the part of our newcomer's guide.
- So if the newcomers want to start contributing right away, the user can view those list and can choose his issues according to of difficulty level and required the skill set and start working.
- Skills need to work and implement the Sugarbot concept:
- https://developer.github.com/v3/issues/#list-issues
- https://github.com/nodejs/github-bot
- To retrieve data from Developer Github API, JSON knowledge needed.
- The inspiration of ideas are from to:
- Skills Required: NodeJs, JSON, XML, Javascript
Risks
- Risk #1: your beginner guide does not help a beginner
- Currently Sugar Labs has multiple newcomers guides in the forms of a book, Sugar Wiki, and sugardoc, GCI Starter I will try to recompile them and bring all the resource at a single place with proper inter-linking, It’ll facilitate proper navigation.
- Now instead of having multiple newcomer guides resources, we can add all the resources in one place.
- I have large student community at my college. I have a thought of organizing Sugar Labs online seminar, where we can guide them about Open Source contribution, and direct them to the newcomer guide.
- So, it will provide me raw feedback from them and I can improve that guide further, in case many students are facing the same problem also it will increase more number of the contributors to sugarlabs.
- Risk #2; Beginner guide conflicts with other information
- Those formats will be used which are generally acceptable and maintained by everyone.
- Basic Html 5 tags and CSS attributes will be utilized.
- Throughout the development only open-source software and technologies like Bootstrap, Angular, NodeJs, Material etc will be used.
- To convert Html files to markdown https://domchristie.github.io/turndown/
- The open Source software https://wkhtmltopdf.org/ will be used to convert the completed website in a good layout pdf.
- Remove information from the current existing guide and put the link to new guide at those places and linked properly for proper navigation.
- Risk #3; your beginner guide is abandoned soon after publishing
- I want to work on this project even after GSoC period overs I see a huge possibility of exploration of Sugarbot and I will be always there for updation of the newcomer Guide and working on Sugarbot to make things automated and easy.
Project and the community
- If your project is successfully completed, what will its impact be on the Sugar Labs community?
- If the project is successful it will be of huge help for new developers to SugarLabs as well as establish all the documentation at one place in a well-organized way. This will also give first-time users a pleasant experience as they wouldn’t have to figure out all the procedures by themselves.
- FAQ’s like “How to download the Sugar labs projects” and “how to start contributing” would be taken care of at a single place in a decently organized way.
- To make it more user-friendly there would be testing as well as feedback and suggestions from the users so as to make changes accordingly.
- Dashboard will bring all the community features at a single place and badges would reflect how much a user has used our documentation and how much of help it has been.
- If there is some part of the documentation that is not completed by the majority of the newcomers, (this can be seen by the number of badges with the students) then more emphasis will be laid to that part for more refining.
- Sugarbot will be a new project to Sugar labs which could be further expanded and embedded within our chatting and mailing channel.
- In future, it could also be utilized for assigning issues thus increasing automation and productivity. There seems to be a lot of scope for Sugarbot’s expansion.
- What will you do if you get stuck on your project and your mentor isn't around?
- I will try to resolve the issue myself by looking it up on Google, StackOverflow etc.
- Read the documentation of the tool in which problem occurs.
- Contact other SugarLabs members through IRC, developer mailing lists
- If the problem is still not resolved, I will engross myself on some other module to keep the things rolling and wait for my mentors to help me out.
- How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?
- Convey daily work to my mentors
- Daily updates on IRC
- I will keep posting updates on my work on the developer mailing as per requirements
- I’ll update my weekly work on either Github or BitBucket
- Keep my work well documented for the community.
Other Commitments
- Have you applied to other organization? No
- Do you have plans to have any other job or internship during this period? No
- Do you have any short-term commitment during this period? No
- Do you have Eoverlapclasses that overlap during this period?
- My current semester will end on 5th May and next semester will start on 27th July.
- During the vacation time, I can fully devote my time to this project. After my next semester starts I can manage to work for at least 4-6 hours a day.
- Since when you have been part of the community?
- I have been part of Sugarlabs community since October 2017.
- I have also tried to serve as GCI mentor and guide new students, I will be part of Sugarlabs community even after completion of GSoC tenure.
- I’ll try to keep on adding newer features and ideas to the project after GSoC as there are a few ideas in my mind ( like dashboard feature can be explored in the much better way in future like Season of KDE dashboard and certain other competitions like BOSS - Bountiful Open Source Summer) which can’t be implemented within the tenure of GSoC. I would like to work upon those ideas after GSoC.