Rishabhnambia

Joined 10 March 2018
493 bytes added ,  05:22, 18 March 2018
m
no edit summary
Line 78: Line 78:  
|Community Bonding
 
|Community Bonding
 
|
 
|
 +
*Set up a blog for posting my weekly progress.
 
*Finish node.js performance analysis for Sugarizer-server and post the results for the community.  
 
*Finish node.js performance analysis for Sugarizer-server and post the results for the community.  
 
*The analysis includes parameters like file download size for every page/activity, frequency of page visits, processing required per request and seeing how the Pi server behaves in different conditions.  
 
*The analysis includes parameters like file download size for every page/activity, frequency of page visits, processing required per request and seeing how the Pi server behaves in different conditions.  
*Set up a blog for posting my weekly progress.
  −
   
|-
 
|-
 
|
 
|
Line 106: Line 105:  
*Continue to work on Raspbian Image build and test on my Raspberry Pi 3.  
 
*Continue to work on Raspbian Image build and test on my Raspberry Pi 3.  
 
*Images should be available to the community and for testing.
 
*Images should be available to the community and for testing.
*Publish the Raspberry Pi image and the build scripts.
+
 
 
|-
 
|-
 
|03
 
|03
Line 112: Line 111:  
|
 
|
 
|
 
|
 +
*Continue to work on the Raspberry Pi image and the build scripts and publish them.
 
*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.  
 +
*On the IIAB Sugarizer install, add safeguards and checks to reduce MongoDB corruption issues caused by incorrect shutdown methods.
 
|-
 
|-
 
|04
 
|04
Line 119: 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.
*Use the remaining week to make other improvements and fix issues that crop up during Week 3.
+
*Implement and test on multiple Android devices/tablets.
 
|-
 
|-
 
|
 
|
Line 133: Line 134:  
*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.
 
*Explore [https://github.com/Unitech/pm2 pm2] as a solution to do solve this or use other features of pm2 to enhance reliability.
 
*Explore [https://github.com/Unitech/pm2 pm2] as a solution to do solve this or use other features of pm2 to enhance reliability.
:*Monitoring
+
:*The aim is to remove the possibility of data loss during after updates.
:*Development Workflow with CI
  −
:*Run updates using pm2
   
|-
 
|-
 
|06
 
|06
Line 142: Line 141:  
|
 
|
 
*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 midterm evaluation phase.  
 
*The project should ideally be 90% complete by the midterm evaluation phase.  
 
*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 150: Line 148:  
|
 
|
 
|
 
|
*Study how to make the Sugarizer School Box communicate with the Android/iOS client apps.
+
*Test Heroku Button deployment.
*Test the working of the Sugarizer School Box with every possible type of client.
+
*Test the Sugarizer School Box Raspberry Pi image at real '''Sugarizer deployments''' with the help of the community.
 
|-
 
|-
 
|08
 
|08
Line 157: Line 155:  
|
 
|
 
|
 
|
*Test the Sugarizer School Box Raspberry Pi image at real '''Sugarizer deployments''' with the help of the community.
+
*If the Turtle/Music Blocks release is on schedule, I will add it to the Sugarizer Pi Image build.
 +
*We can use this release as a test for the upgrade processes created in Week 5.
 +
*Improvements to the upgrade process will be made.  
 
|-
 
|-
 
|
 
|
Line 168: Line 168:  
|
 
|
 
|
 
|
*If the Turtle/Music Blocks release is on schedule, I will add it to the Sugarizer Pi Image build.
+
*Write a Bash + Docker script to deploy Sugarizer-server on a VPS.This will be done the traditional DevOps way using Ansible.
*We can use this release as a test for the upgrade processes created in Week 5.
+
*The Ansible component will not take much time because a similar play has already been written [https://github.com/iiab/iiab/tree/master/roles/sugarizer here].  
*Improvements to the upgrade process will be made.  
   
|-
 
|-
 
|10
 
|10
Line 176: Line 175:  
|
 
|
 
|
 
|
*Write a Bash + Docker script to deploy Sugarizer-server on a VPS.This will be done the traditional DevOps way using Ansible.
+
*Use Packer or Terraform on the Bash + Docker script written in Week 9 to improve compatibility between VPS providers.
*The Ansible component will not take much time because a similar play has already been written [https://github.com/iiab/iiab/tree/master/roles/sugarizer here].  
   
|-
 
|-
 
|11
 
|11
Line 184: Line 182:  
|
 
|
 
*Test deployment options thoroughly on different VPS providers.  
 
*Test deployment options thoroughly on different VPS providers.  
*Use Packer or Terraform on the Bash + Docker script written in Week 8 to improve compatibility between VPS providers.
+
*Take help from the community for testing the scripts on a larger scale.
 
|-
 
|-
 
|12
 
|12
Line 190: Line 188:  
|
 
|
 
|
 
|
* Buffer week for finding more issues and preparing the final submission.
+
*Keep a final buffer week for added tasks.
 +
*Prepare final submissions.
 
|-
 
|-
 
|
 
|
Line 277: Line 276:  
====Describe a great learning experience you had as a child.====
 
====Describe a great learning experience you had as a child.====
   −
:in-progress
+
:Well, the most significant learning experience I can recollect is when I learned how to “learn”.
 +
:This is something entirely personal as different individuals require different learning methods.
 +
:I don’t remember exactly when or how I found out but I finally realized that I can learn only by “doing” and not by reading or writing about concepts.
 +
 
 +
: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.
    
====More questions I'd like to ask====
 
====More questions I'd like to ask====