mNo edit summary
mNo 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====