Summer of Code/2018/Making a Beginner Guide: Difference between revisions
Pratul1997 (talk | contribs) |
Pratul1997 (talk | contribs) |
||
(15 intermediate revisions by the same user not shown) | |||
Line 13: | Line 13: | ||
===My Profile=== | ===My Profile=== | ||
:'''Name:''' Pratul Kumar | :'''Name:''' Pratul Kumar | ||
:'''University:''' The LNM Institute of Information and Technology | :'''University:''' [https://www.lnmiit.ac.in/ The LNM Institute of Information and Technology] | ||
:'''Course:''' B.Tech. in | :'''Course:''' B.Tech. in Communication and Computer Engineering | ||
:'''Year:''' 2nd year (4th semester) | :'''Year:''' 2nd year (4th semester) | ||
:'''Email:''' pratulkumar1997@gmail.com | :'''Email:''' pratulkumar1997@gmail.com | ||
Line 24: | Line 24: | ||
:'''Facebook:''' [https://www.facebook.com/Pratul1997 Pratul1997] | :'''Facebook:''' [https://www.facebook.com/Pratul1997 Pratul1997] | ||
:'''Languages:''' English, Hindi | :'''Languages:''' English, Hindi | ||
:'''Time-Zone:''' Jaipur , India UTC+5:30 | :'''Time-Zone:''' Jaipur, India UTC+5:30 (Kolkata) | ||
=== Open Source Contribution === | === Open Source Contribution === | ||
Line 41: | Line 41: | ||
===The Project=== | ===The Project=== | ||
====Abstract==== | ====Abstract==== | ||
:* To make a beginners guide for | :* To make a beginners guide for SugarLabs, a platform to guide them to start contributing and to taking care of FAQ’s like : | ||
::* <u>Where to start?</u> | ::* <u>Where to start?</u> | ||
::* <u>What to start?</u> | ::* <u>What to start?</u> | ||
Line 47: | Line 47: | ||
::* <u>Where to submit?</u> | ::* <u>Where to submit?</u> | ||
:* Convert the markdown and grasp the | :* Convert the markdown and grasp the content from different current documentations and bring all that information to a single place. | ||
:* The | :* The goal is to help new developers to settle easily into the SugarLabs world and provide a centralized documentation portal. | ||
:* Make a dashboard for the users so that they can get to know about their developed and developing areas, track the | :* Make a dashboard for the users so that they can get to know about their developed and developing areas, track the projects, their progress and performance. Their contribution could also be seen by the other users, earning them respect in the society. | ||
====Dashboard==== | ====Dashboard==== | ||
::* The Dashboard would contain user’s basic information (like email address, name, | ::* The Dashboard would contain user’s basic information ( like email address, name, handles etc. ) and would allow him to easily share his work and/or collaborate with others. | ||
::* The dashboard can be logged in with Google ID, Github or Facebook ( more login options like single login providers like OneLogin and login using StackOverflow / StackExchange network ID may also be added if needed in future ). | |||
::* The dashboard can be logged in | ::* These details would be shared as per the privacy settings of the user where he can decide what information will be visible to which audience(a feature of user groups could be added in future). | ||
::* These details would be shared as per the privacy settings of the user where he can decide what information will be visible to which audience. | |||
::* The user would be able to bookmark the articles of the guide or add them to “read later” for future reference and access them from his dashboard whenever he needs. | ::* The user would be able to bookmark the articles of the guide or add them to “read later” for future reference and access them from his dashboard whenever he needs. | ||
::* '''Login won’t be | ::* '''Login won’t be compulsory to view the documentation.''' | ||
:* '''Technologies Used:''' NodeJS, JavaScript, Jquery, Bootstrap | |||
:* '''Technologies Used:''' NodeJS | |||
====Badge Feature in Dashboard==== | ====Badge Feature in Dashboard==== | ||
Line 71: | Line 68: | ||
====Add Shortcuts==== | ====Add Shortcuts==== | ||
:* This feature is to ease the navigation and readability for the user. | :* This feature is to ease the navigation and readability for the user. | ||
:* This will help in several ways: | :* This will help in several ways: | ||
::* If the user | ::* If the user can’t read some part at that moment. | ||
::* If he feels some part is important to keep bookmarked for future. | ::* If he feels some part is important to keep bookmarked for future. | ||
::* To help other users to get started in the community in very quick manner. | ::* To help other users to get started in the community in very quick manner. | ||
:* A button at the top right will be provided to integrate one-click easy shortcut addition to his dashboard. | :* A button at the top right will be provided to integrate one-click easy shortcut addition to his dashboard. | ||
'''Technologies used:''' Bootstrap, JavaScript, NodeJs | '''Technologies used:''' Bootstrap, JavaScript, NodeJs | ||
====Sugarbot==== | ====Sugarbot==== | ||
:* I propose to integrate a bot, called SugarBot with Sugarlabs GitHub | :* I propose to integrate a bot, called SugarBot with Sugarlabs GitHub repositories. | ||
:* Sugarbot will keep track of the git repositories and issues being opened, and | :* Sugarbot will keep track of the git repositories and issues being opened, and when a label ( like easy, medium, hard, GCI, GSoC etc. ) is being attached to them by the repo maintainer. | ||
:* | :* The bot will automatically reflect issues according to their labels within the corresponding group on the page(a part of our newcomer's guide). | ||
:* | :* If the newcomer wants to start contributing right away, he can view the list of issues label-wise and choose them according to difficulty level and required the skill set and start working. | ||
:* Skills need to work and implement the Sugarbot concept: | :* Skills need to work and implement the Sugarbot concept: | ||
::* https://developer.github.com/v3/issues/#list-issues | ::* https://developer.github.com/v3/issues/#list-issues | ||
Line 91: | Line 87: | ||
:::* [https://starters.servo.org/ Mozilla Starter Pack] | :::* [https://starters.servo.org/ Mozilla Starter Pack] | ||
:::* [https://publiclab.github.io/community-toolbox/ Publiclabs First Timer issue] | :::* [https://publiclab.github.io/community-toolbox/ Publiclabs First Timer issue] | ||
::* Certain Featured bots who perform the similar tasks: | |||
: '''Skills Required:''' NodeJs, JSON, XML, Javascript | :::* [https://github.com/coala/corobo Corobo] | ||
:::* [https://github.com/publiclab/plotsbot plotsbot] | |||
::* For connection with IRC we will utilize [https://github.com/errbotio errbot] | |||
: '''Skills Required:''' NodeJs, JSON, XML, Javascript or Python | |||
===Risks=== | ===Risks=== | ||
* '''Risk [[#1]]: your beginner guide does not help a beginner''' | * '''Risk [[#1]]: your beginner guide does not help a beginner''' | ||
::* Currently Sugar Labs has multiple newcomer guides in the forms of a book, [https://wiki.sugarlabs.org/go/Documentation_Team Sugar Wiki], and [https://github.com/sugarlabs/sugar-docs sugardoc], [https://wiki.sugarlabs.org/go/Google_Code_In_2017/background GCI Starter]. I will try to | ::* Currently Sugar Labs has multiple newcomer guides in the forms of a book, [https://wiki.sugarlabs.org/go/Documentation_Team Sugar Wiki], and [https://github.com/sugarlabs/sugar-docs sugardoc], [https://wiki.sugarlabs.org/go/Google_Code_In_2017/background GCI Starter]. | ||
::* Now instead of having multiple newcomer guide resources, we can add all the resources in one place. | ::* I will try to bring the content of all these resources at sugardoc using [http://www.sphinx-doc.org/en/master/ sphinx] with [http://www.sphinx-doc.org/en/stable/theming.html classic] to convert markdown to HTML(then to pdf as needed). Another alternative to display content on our dashboard is using [http://docs.readthedocs.io/en/latest/embed.html ReadtheDoc Embed] feature. | ||
::* Now instead of having multiple newcomer guide resources, we can add all the resources in one place, removing other resources of newcomer guide. | |||
::* 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. | ::* 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. | ||
::* | ::* I could take their feedback and improve the guide further. In case many students are facing the same problem, I’ll try to find the reason and resolve it. | ||
::* | ::* Further as only markdown will be used as new-comer guide, other resources have been removed, the community won't need to devote their time in maintaining multiple guides. | ||
* '''Risk [[#2]]; Beginner guide conflicts with other information''' | * '''Risk [[#2]]; Beginner guide conflicts with other information''' | ||
::* | ::* Markdown would be utilized, [https://github.com/coala/coala/tree/master/docs/Developers an example] used by other organization. | ||
::* Only open-source software and technologies like [https://github.com/twbs Bootstrap], [https://github.com/angular Angular], [https://github.com/nodejs NodeJs], [https://github.com/angular/material2 Material] etc will be used. | |||
::* | ::* Sphinx also provides the feature to convert the documentation to pdf format. | ||
::* | |||
::* Remove information from the current existing guide and put the link to new guide at those places and linked properly for proper navigation. | ::* 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''' | * '''Risk [[#3]]; your beginner guide is abandoned soon after publishing''' | ||
::* I | ::* I would like to work on this project even after GSoC period gets over. I see a huge possibility of exploration of Sugarbot and I will try to keep updating guide and keep working on Sugarbot to make things automated and easy as long as I can. | ||
::* As there is the only one source of newcomer documentation which is sugar doc and markdown is used there, so it will be easy for everyone to update it on Github repository. We will also add a page with the contributor on Sugar Doc where we can list the name of developers who contributed to Sugardoc and other projects. Also as it will be the only source documentation so the risk of "Rarely do new people begin to edit" is also removed. The developers can showcase their contribution on that page so it is sort of social reward for them by Sugarlabs. | |||
::* As for the contributor who is not comfortable with Github, a part about getting started with Github will also be there in the newcomer guide. Link to basic syntax of https://www.markdowntutorial.com/ and [https://guides.github.com/activities/hello-world/ GitHub] and such links will also be there. There will also be badges when you complete this part. It will attract the contributor to learn Github and its task. After there learning they can also contribute to Sugarlabs through Github. | |||
===Timeline=== | ===Timeline=== | ||
Line 232: | Line 232: | ||
* '''Do you have plans to have any other job or internship during this period?''' 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 any short-term commitment during this period?''' No | ||
* '''Do you have | * '''Do you have classes that overlap during this period?''' | ||
::* My current semester | ::* My current semester exams are from 29<sup>th</sup> April to 5<sup>th</sup> May and next semester will start on 27th July. | ||
::* During my exam tenure, I will not be able to contribute. | |||
::* 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. | ::* 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?''' | * '''Since when you have been part of the community?''' |