In May of 2021, I was selected for Google Summer of Code'21 to work with Sugar Labs. My project goals were to improve security and availabilty of Sugarizer and other projects affiliated with it namely:
Sugarizer is a free/libre learning platform. The Sugarizer UI use ergonomic principles from The Sugar platform, developed for the One Laptop per Child project and used by more than 2 million children around the world.
Sugarizer runs on every device: laptops, desktops, tiny computers, tablets or smartphones.
Sugarizer includes a large set of pedagogic activities thought for children, see here for a full list.
Sugarizer is available as:
- Application: an installable app for every operating system
- Web Application: a web application that runs in modern web browsers
Thanks to former GSoC Projects, Sugarizer can easily be deployed on Kubernetes clusters to meet some users deployment expectations. The objective of this project is to keep Sugarizer growing by enhancing two core concepts for our deployments: Security and Availability.
The deliverables of the project are as follows:
- Learn about 2FA and TOTP code generation
- Fix current issues/features request on Sugarizer-School-Portal
- MongoDB Replicaset chart is deprecated
- No indicator for Password strength & validation, Special characters are forbidden in password
- Registration confirmation Mail content is not localised
- Change Server description in Dashboard home page
- Verification Link is not clickable in Thunderbird
- Allow accentuated & characters in school name
- Allow minus character in school name
- Update package/chart versions for Sugarizer School Portal.
- Migrate from deprecated helm/mongodb-replicaset chart to bitnami/mongodb chart.
- While maintaining support on different Kubernetes providers.
- Add TOTP registration feature to Sugarizer School Portal to enhance user's security.
- Enable and Disable feature
- TOTP Verification upon enabling Two Factor Authentication.
- Add TOTP registration feature to the Sugarizer Dashboard to enhance user's security.
- Update the prevailing tests and write tests for new features added.
All of the aforementioned deliverables were attained during GSoC coding period. π
llaske/sugarizer-server#285 Merged β ricknjacky/sugarizer-server#1 Merged β NikhilM98/sugarizer-chart#10 Merged β NikhilM98/sugarizer-school-portal-server#50 Merged β NikhilM98/sugarizer-school-portal-server#42 Merged β NikhilM98/sugarizer-school-portal-server#42 Merged β NikhilM98/sugarizer-school-portal-server#42 Merged β NikhilM98/sugarizer-school-portal-server#42 Merged β NikhilM98/sugarizer-school-portal-server#42 Merged β NikhilM98/sugarizer-school-portal-server#42 Merged β NikhilM98/sugarizer-school-portal-server#32 Merged β NikhilM98/sugarizer-school-portal-server#32 Merged β
I've learnt a lot working on this project. Thank you to my mentors for introducing me to new concepts like Kubernetes & Helm charts and helping me hone my prevailing skillsets pertaining to Software development and also for their insights that saved hours of struggle with the codebase's intricacies.
Looking to contribute more, in whichever way I can.
Lastly, Thanks to Google for organising such a great program.
Student | Jaikishan Brijwani |
---|---|
Organization | Sugar Labs |
Project | Sugarizer Security and Availability |
GitHub | ricknjacky |