-
Notifications
You must be signed in to change notification settings - Fork 123
Project Proposal GSoC 2018
- Are you a SCoRe contributor/ Have you contributed to SCoRe before?
Yes, I have started contributing to SCoRe since 26th October 2017. My first contribution is to SCoRe website. And I have got the opportunity to mentor GCI 2017 for GoCloud and NodeCloud projects. I started working stackle project mostly because the technologies are familiar for me. And while going through stackle project, I have checked on projects like Go Cloud, Node Cloud, Massa, DroneSym as well. And here is the list of issues and pull requests I have engaged so far.
Pull Requests
- Solving errors in the css file, refactoring the code and update readme for stackle
https://github.com/scorelab/Stackle/pull/111
- Adding a gh-page for GoCloud
https://github.com/lakindu95/gocloud/tree/gh-pages
- Fixing corejs, adding tooltip for landing page, adding high level architecture diagram
https://github.com/scorelab/Stackle/pull/117
- Adding code of conduct and contributing.md
https://github.com/scorelab/Massa/pull/11
Issues
- Suggesting to add an architecture diagram for Stackle
https://github.com/scorelab/Stackle/issues/116
- Suggesting to implement Go Cloud CLI
https://github.com/cloudlibz/gocloud/issues/55
- Suggesting to build a GH-page for Go Cloud
https://github.com/cloudlibz/gocloud/issues/32
- Adding up an high level architecture diagram to Stackle project
https://github.com/scorelab/Stackle/issues/116
- Suggesting to add a gh-page for Massa
https://github.com/scorelab/Massa/issues/7
- Add a contributing guideline to DroneSym
https://github.com/scorelab/DroneSym/issues/92
- Add a code of conduct for Massa
https://github.com/scorelab/Massa/issues/8
- Adding installation process to the project
https://github.com/scorelab/Massa/issues/9
- Suggesting to host the page in GitHub
https://github.com/cloudlibz/nodecloud/pull/46
- Couldn't run the project on MacOS
https://github.com/cloudlibz/nodecloud/issues/58
- How can we reach you (eg: email) if we have questions about your application?
Email - lakindu1995@gmail.com
Phone - +94 77 1629563
- What is your github username(s):
lakindu95
Project Specific Questions
- Which SCoRe GSoC project are you applying for (please submit separate applications for each project):
CLocal - Azure
-
What do you plan to accomplish over this summer for this project? (Please tell us
a. What project you want to work on,
-
CLocal - Azure
b. How you will approach that project portion (with your milestones)
CLocal azure is an emulation engine for Azure platform which will help the users to easy-to-use by mocking the services local environment before trying on the azure cloud. Ultimate goal is to develop a local azure stack to develop and test the azure apps locally.
Milestones:
- Community bonding and finalizing the project milestones and the functions to be implemented - 13th May.
- Implementing the proper flows and initiate project - 16th May.
- Implementing storage emulation - 27th May.
- Implementing azure functions - 24th June.
- Implementing azure CDN endpoint service - 8th July.
- Implementing API management service - 22nd July.
- Adding documentation, improve code quality, gh-page - 5th August.
-
If you have your own project to propose, please describe it here: Not own project
-
Projects related details. (Have you tried that project you selected from SCoRe project list? What problems, if any, were presented? What prevented you from getting the entire system up and running?)
The project is new and should implement from scratch
- List down any plans you have during this summer( over the time period of GSoC, such as classes, job, vacation plans, thesis, etc.)
I'm a third year undergraduate from IIT Sri Lanka. Therefore, besides GSoC I have to do the final year project research.
-
Education:
-
What year are you in school?
3rd Year
- What programming courses have you taken?
B Eng (Hons) Software Engineering (Reading)
- Software Development Principles (Java)
- Server side web development (PHP)
- Object Oriented Programming (Java)
- Algorithms: Theory Design and Implementation
AWS Business Professional Online
AWS Technical Professional online
DiTEC (Diploma in IT)
- What is your major?
Software Engineering
- Have you done group projects (programming or otherwise)?
University Projects
i. Healthy Office Plus
This project is based on a smart IOT product which is used to monitor the sitting pattern of office based employees. In order to detect the presence of the employees at the desk area, two sensors are permanently fixed beneath the work table of the employee. The values generated from these two sensors are logically "and" operated to activate the trigger pin, use of triggers along with mail and SMS integration, as soon as the pin is triggered an email is sent and once the sitting pattern of the user is detected it sends notification to the android based application. The mobile application integrates the current healthiness of the user via an avatar. To keep the avatar healthy, user must be in a good healthy condition. Furthermore, we are planning to monitor the user and create a pattern of the behavior, and get more flexible according to each user.
Publication - ISSN 2478-1010 - International Conference on Innovations in Info-business and Technology-2017 (ICIIT-2017)
ii. Drotch - Wearable Quadcopter
Drotch is a wearable device which can be used as a quadcopter and at the same time as a wrist watch. The prototype was submitted to Cutting Edge exhibition on 2016 which was held at IIT. The project was an Arduino based voice controlled device connected with bluetooth with an android application.
Article - http://readme.lk/saw-cutting-edge-2016-part-two/
- What was your primary contribution to/role in the group? https://groups.google.com/forum/#!topic/score-community/tp8I2WKtiHg
Fixing the footer section of the SCoRe website to turn years automatically without updating each year but the project seems to be private now, therefore pull request it is not visible.
- Do you have work experience in programming? Tell us about it.
Yes. I'm a 3rd year undergraduate of IIT, Sri Lanka which is affiliated with University of Westminster. Also doing my one year internship (7 months completed). I have been working on 3 client projects and working directly with the customers. Mainly involved with a tourism platform. Also I'm engaged in an undergraduate startup which carries out various innovative projects. In the startup I have been involved with local organizations/customers who needed web solutions as well. And also participated Hacktoberfest 2017 as well.
- Do you have previous open source experience? Briefly describe what you have done.
Yes. I have contributed to nortable projects such as Serverless dynamodb local - writing unit tests and integrating travis ci. Also I have mentored GCI 2017 with SCoRe and participated in Hacktoberfest 2017.
- Tell one interesting fact about yourself.
Code to eat ;)
SCoRe GSoC Proposal - CLocal Azure
Project Introduction
CLocal Azure will be an easy to use emulation engine for the users of azure cloud services. In this project the users will be able to test/mock the cloud applications locally before running on the azure platform. And will be able to save costings.
Project Goals
- Implementing the skeleton on the project using NodeJS express server
- Implementing the cosmoDB and azure functions using azure sdk locally
- Writing unit tests for each service
- Delivering the architecture and the documentation with wikis and a gh-page
Implementation
CLocal Azure is an emulation engine for the azure services to be mocked or test locally before deploying the cloud applications directly to the azure cloud. Therefore, the features of this project will be mainly focusing on the key features of a cloud app. Starting from the local emulation of documentDB, the phase will be focusing on the azure functions and with the time, other functions will be implemented which is in the azure sdk and will be using existing local emulations such as azure emulation for storage.
This will benefit users without using their credits in azure accounts to test or mock their apps or functionalities. Following are the proposed implementations for the three months.
-
Azure storage emulation
-
Azure functions emulation
-
Azure CDN emulation
-
Azure API Management
-
Building an architecture which can be scalable for other azure services in future
Under storage emulation engine following commands will be added.
- --Storage install - install storage emulation
- --Storage start - start the documentDB
- --Storage stop - stop the documentDB
- --Storage status - print the status of storage emulator
- --Storage clear - Clears the data in all services specified on the command line.
Under azure functions emulation
- --Func init - Initiate the function
- --Func run - Run the azure function
- --Func deploy - Deploying the function in azure cloud
Under azure CDN endpoints emulation
- --CDN create - Create a new CDN endpoint
- --CDN delete - Delete an existing CDN endpoint
- --CDN start - Start an existing CDN endpoint that is on a stopped state
- --CDN stop - Stop an existing running CDN
Under azure API management emulation
- --API create - Create a new operation in the API or updates an existing one
- --API delete - Delete the specified operation in the API
- --API get - Gets the details of the API operation by its identifier
Proposed architecture of CLocal Azure
Timeline
23rd April - 13th May
- Community bonding and finalizing the project milestones and the functions to be implemented.
14 May - 27th May
- Implement the designs with proper flows to be implemented to fulfill the above milestones and initiate the project.
- Initiate the project and start working on the storage emulation.
- Implement functions relating to storage emulation.
- Focusing on implementing storage engine with the basic functionalities mentioned above. (install, start, stop, status and clear)
28th May - 10th June
- Finishing writing unit tests for storage emulation.
- Integrating azure functions local to the project.
11th June - 24th June
- Preparing for phase 1 evaluation.
- Adding the features and options relating to azure functions.
- Adding unit tests for azure functions.
25th June - 8th July
- Implementing azure CDN endpoint functions.
- Adding the operation list mentioned above.
- Adding unit tests for azure CDN.
9th July - 22nd July
- Preparing for Phase 2 evaluation deadline.
- Implementing azure API management service.
- Implementing the feature options above mentioned for API management.
23rd July - 5th August
- Adding unit test cases for API management.
- Improving scalability to implement other azure services.
- Writing documentation for the project.
6th August - 14th August
- Improving the code quality of the project adding continuous integration service.
- Adding a gh-page for the project.
SCoRe Contributions
Bug Reporting,
- Suggesting to add an architecture diagram for Stackle
https://github.com/scorelab/Stackle/issues/116
- Suggesting to implement Go Cloud CLI
https://github.com/cloudlibz/gocloud/issues/55
- Suggesting to build a GH-page for Go Cloud
https://github.com/cloudlibz/gocloud/issues/32
- Adding up an high level architecture diagram to Stackle project
https://github.com/scorelab/Stackle/issues/116
- Suggesting to add a gh-page for Massa
https://github.com/scorelab/Massa/issues/7
- Add a contributing guideline to DroneSym
https://github.com/scorelab/DroneSym/issues/92
- Add a code of conduct for Massa
https://github.com/scorelab/Massa/issues/8
- Adding installation process to the project
https://github.com/scorelab/Massa/issues/9
- Suggesting to host the page in GitHub
https://github.com/cloudlibz/nodecloud/pull/46
- Couldn't run the project on MacOS
https://github.com/cloudlibz/nodecloud/issues/58
Pull Requests,
- Solving errors in the css file, refactoring the code and update readme for stackle
https://github.com/scorelab/Stackle/pull/111
- Adding a gh-page for GoCloud
https://github.com/lakindu95/gocloud/tree/gh-pages
- Fixing corejs, adding tooltip for landing page, adding high level architecture diagram
https://github.com/scorelab/Stackle/pull/117
- Adding code of conduct and contributing.md
https://github.com/scorelab/Massa/pull/11
Mailing List Activities,
Personal Information
Full name - Lakindu Chathushka Gunasekara
E-mail - lakindu1995@gmail.com
IM - Skype: lakindugunasekara
Reference
Project reference
[1] GitHub. 2018. Sustainable Computing Research Lab · GitHub. [ONLINE] Available at: https://github.com/scorelab. [Accessed 17 March 2018].
[2] GitHub. 2018. cloudlibz · GitHub. [ONLINE] Available at: https://github.com/cloudlibz/. [Accessed 17 March 2018].
[3] David-Noble-at-work. 2018. Develop locally with the Azure Cosmos DB Emulator | Microsoft Docs. [ONLINE] Available at: https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator. [Accessed 17 March 2018].
[4] ggailey777. 2018. Develop and run Azure functions locally | Microsoft Docs. [ONLINE] Available at: https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local. [Accessed 17 March 2018].
[5] tamram. 2018. Use the Azure storage emulator for development and testing | Microsoft Docs. [ONLINE] Available at: https://docs.microsoft.com/en-us/azure/storage/common/storage-use-emulator. [Accessed 17 March 2018].
CLocal Azure - Emulation Engine for Azure