Rishabhnambia
Joined 10 March 2018
| (10 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
:'''Sugar Labs wiki username:''' Rishabhnambia | :'''Sugar Labs wiki username:''' Rishabhnambia | ||
:'''IRC nickname:''' rishabhnambiar | :'''IRC nickname:''' rishabhnambiar | ||
:'''Github:''' https://github.com/rishabhnambiar | |||
:'''Languages:''' English | :'''Languages:''' English | ||
:'''Where am I located? and what hours(UTC) do I tend to work?''' | :'''Where am I located? and what hours(UTC) do I tend to work?''' | ||
| Line 14: | Line 15: | ||
:'''Past experiences with Open-Source projects:''' | :'''Past experiences with Open-Source projects:''' | ||
: I have worked with an open-source organization called [https://github.com/frappe ERPNext] sporadically between 2016 and 2017. | : I have worked with an open-source organization called [https://github.com/frappe ERPNext] sporadically between 2016 and 2017 as a part of their Developer Operations team. | ||
::* I added an AWS S3 Integration to Frappe, a Python framework that powers ERPNext. | ::* I added an AWS S3 Integration to Frappe, a Python framework that powers ERPNext. | ||
| Line 21: | Line 22: | ||
::* https://github.com/frappe/bench/pull/473/ | ::* https://github.com/frappe/bench/pull/473/ | ||
: I've been making minor contributions since May 2016. | : I've been making minor contributions since May 2016. | ||
::*https://github.com/frappe/bench/pull/473 [Ansible] | |||
::*https://github.com/coding-blocks/content-downloader/pull/7 [Python] | |||
::*https://github.com/fossasia/meilix-generator/pull/110 [HTML, CSS, JavaScript] | |||
=Project Description = | =Project Description = | ||
| Line 50: | Line 55: | ||
: | : | ||
[[File:Herokubuttonreadmeexample.png|center]] | [[File:Herokubuttonreadmeexample.png|center]] | ||
: | :::::::::::::::::::''<small>Fig. mockup for a Heroku Button in README.md</small>'' | ||
:The second goal is to simplify the way to deploy Sugarizer in the cloud. The priority in this section is get a [https://blog.heroku.com/heroku-button Heroku Button] for sugarizer up and running. | :The second goal is to simplify the way to deploy Sugarizer in the cloud. The priority in this section is get a [https://blog.heroku.com/heroku-button Heroku Button] for sugarizer up and running. | ||
: | : | ||
| Line 64: | Line 69: | ||
:If things go as per the timeline till the 2nd evaluation phase, I will also be making a Bash + Docker script for sugarizer deployment. Ansible, Terraform or Packer can be added to the script to allow compatibility for different VPS providers. As the Docker build for Sugarizer-server and Ansible installer for IIAB already exist, this will not take long. | :If things go as per the timeline till the 2nd evaluation phase, I will also be making a Bash + Docker script for sugarizer deployment. Ansible, Terraform or Packer can be added to the script to allow compatibility for different VPS providers. As the Docker build for Sugarizer-server and Ansible installer for IIAB already exist, this will not take long. | ||
=Timeline= | =Timeline= | ||
| Line 79: | Line 83: | ||
*Set up a blog for posting my weekly progress. | *Set up a blog for posting my weekly progress. | ||
*Discuss and reshape the Timeline after discussion with my mentor(s). | *Discuss and reshape the Timeline after discussion with my mentor(s). | ||
*Investigate the causes of MongoDB crashes faced by Sugarizer users and formulate a solution. | |||
|- | |- | ||
| | | | ||
| Line 110: | Line 115: | ||
*Improve the [https://github.com/iiab/iiab/tree/master/roles/sugarizer Ansible playbook] for installing Sugarizer on the Internet-In-A-Box installer. | *Improve the [https://github.com/iiab/iiab/tree/master/roles/sugarizer Ansible playbook] for installing Sugarizer on the Internet-In-A-Box installer. | ||
*This will include making sure that the IIAB play uses the latest version of sugarizer with all available functionality and ensuring that it works. | *This will include making sure that the IIAB play uses the latest version of sugarizer with all available functionality and ensuring that it works. | ||
|- | |- | ||
|04 | |04 | ||
| Line 116: | Line 120: | ||
| | | | ||
| | | | ||
*On the IIAB Sugarizer install, add safeguards and checks to reduce MongoDB corruption issues caused by incorrect shutdown methods. | |||
*Study how to make the Sugarizer School Box communicate with the Android and iOS apps. | *Study how to make the Sugarizer School Box communicate with the Android and iOS apps. | ||
*Implement and test on multiple Android devices/tablets. | *Implement and test on multiple Android devices/tablets. | ||
| Line 121: | Line 126: | ||
|05 | |05 | ||
|June 12 - June 20 | |June 12 - June 20 | ||
| | |Phase I Evaluation | ||
| | | | ||
*Formulate a robust upgrade process to ensure that Sugarizer updates are installed successfully without losing any data to instances that have been deployed. | *Formulate a robust upgrade process to ensure that Sugarizer updates are installed successfully without losing any data to instances that have been deployed. | ||
| Line 129: | Line 134: | ||
|06 | |06 | ||
|June 21 - June 29 | |June 21 - June 29 | ||
| | | | ||
| | | | ||
*Generate a Heroku Button for one-click Sugarizer-server deployment. | *Generate a Heroku Button for one-click Sugarizer-server deployment. | ||
*The project should ideally be 90% complete by the | *The project should ideally be 90% complete by the end of June. | ||
*So my goal at this stage is to have a functional Raspberry Pi image build for Sugarizer, significantly improved IIAB Ansible install script and the Heroku Button. | *So my goal at this stage is to have a functional Raspberry Pi image build for Sugarizer, significantly improved IIAB Ansible install script and the Heroku Button. | ||
|- | |- | ||
| Line 140: | Line 145: | ||
| | | | ||
*Test Heroku Button deployment. | *Test Heroku Button deployment. | ||
*Test the Sugarizer School Box Raspberry Pi image at real | *Test the Sugarizer School Box Raspberry Pi image at real Sugarizer deployments with the help of the community. | ||
|- | |- | ||
|08 | |08 | ||
|July 09 - July 13 | |July 09 - July 13 | ||
| | |Phase II Evaluation | ||
| | | | ||
*If the Turtle/Music Blocks release is on schedule, I will add it to the Sugarizer Pi Image build. | *If the Turtle/Music Blocks release is on schedule, I will add it to the Sugarizer Pi Image build. | ||
| Line 173: | Line 178: | ||
|12 | |12 | ||
|6 Aug - August 14 | |6 Aug - August 14 | ||
| | |Final Evaluation | ||
| | | | ||
*Keep a final buffer week for added tasks. | *Keep a final buffer week for added tasks. | ||
| Line 183: | Line 188: | ||
| | | | ||
|- | |- | ||
|} | |} | ||
| Line 192: | Line 193: | ||
:I believe I can complete this project because of my love and fascination for Linux and my previous work experience with Ansible, Docker and Python. | :I believe I can complete this project because of my love and fascination for Linux and my previous work experience with Ansible, Docker and Python. | ||
:*I mentioned my experience with an open-source organization called [https://github.com/frappe ERPNext] above. | :*I mentioned my experience with an open-source organization called [https://github.com/frappe ERPNext] above. | ||
| Line 201: | Line 201: | ||
:*In the summer of 2017, I was at [https://angel.co/cube-consumer-services-1 Cube] as a Full-Stack Development Intern. Over the summer, I built a Python based (bottle.py) web application that automated a lot of maintenance tasks for the Operations team that included web scraping and API Development. I also containerized the application using Docker and Docker-Compose. | :*In the summer of 2017, I was at [https://angel.co/cube-consumer-services-1 Cube] as a Full-Stack Development Intern. Over the summer, I built a Python based (bottle.py) web application that automated a lot of maintenance tasks for the Operations team that included web scraping and API Development. I also containerized the application using Docker and Docker-Compose. | ||
:This is the first time I’m applying for GSoC and Sugar Labs is the only organization I’m applying to because this project is a really good fit for my skill-set. | |||
= The Project and the Community = | = The Project and the Community = | ||
| Line 221: | Line 223: | ||
::4) I think you can start thinking on your proposal. You can continue to discuss with us to talk about the project but also the community and the impact of that project. | ::4) I think you can start thinking on your proposal. You can continue to discuss with us to talk about the project but also the community and the impact of that project. | ||
::5) For the deployment part we have two options that would be nice to have. | ::5) For the deployment part we have two options that would be nice to have. | ||
::* a really simple automation like heroku single click deploy (https://blog.heroku.com/heroku-button). This is the killer feature we should definitely have. | ::* a really simple automation like heroku single click deploy (https://blog.heroku.com/heroku-button). | ||
:::'''This is the killer feature we should definitely have.''' | |||
::* the devops way using tools like Ansible and Terraform and Packer. | ::* the devops way using tools like Ansible and Terraform and Packer. | ||
::'''One major thing for all platforms is to think about the upgrade processes, how can we update the devices/server without losing data.''' | ::'''One major thing for all platforms is to think about the upgrade processes, how can we update the devices/server without losing data.''' | ||
| Line 244: | Line 247: | ||
====Setting up a Development Environment==== | ====Setting up a Development Environment==== | ||
:I wasn’t sure if this project falls under the Sugar- | |||
:I wasn’t sure if this project falls under the Sugar-Desktop projects or the Sugar Web projects so for a relevant screening task, you can check a Sugarizer deployment I’ve done at http://rishabhn.xyz:8080/ | |||
:I've deployed Sugarizer on my Raspberry Pi 3 and a VPS with Docker and without it. | :I've deployed Sugarizer on my Raspberry Pi 3 and a VPS with Docker and without it. | ||
:It works really well and I haven’t run into any major issues. | :It works really well and I haven’t run into any major issues. | ||
====Tell us something about yourself that will make us like you more.==== | |||
:*I believe I’m a good candidate for this project because I’m an avid distro-hopper. The process of merely installing new Linux distributions and setting them up the way I like takes a large chunk of my time. So, the Sugarizer School Box isn’t just some project I’d like to do for GSoC, it’s something I’ll actually enjoy building! | |||
:*I come from a family of musicians so I’ve turned into an amateur singer and guitar player as I’ve grown up. I also know my way around recording instruments and vocals. If the Sugarizer School Box project didn’t exist, I would have picked a Music Blocks project for sure. Maybe I can work on it sometime in the future! | |||
==== | |||
:I | |||
: | |||
====Describe a great learning experience you had as a child.==== | ====Describe a great learning experience you had as a child.==== | ||
| Line 269: | Line 265: | ||
:Now, I just use that concept to try learning whatever I need to. It’s all about getting your hands dirty and putting in the work. | :Now, I just use that concept to try learning whatever I need to. It’s all about getting your hands dirty and putting in the work. | ||
[[Category:2018 GSoC applications]] | [[Category:2018 GSoC applications]] | ||