├── README.md ├── GSoC_Final_Report_Format.md ├── GSoC-2021 ├── 22-Shyam-Service-Market.md ├── 17-Esandha-Vithanage-S-ChainX-Product-Hunter.md ├── 15-Shadow-CodeLabZ.md ├── 09-Lycanthrope-Code-Labz.md ├── 12-Pola-Hano-Shehat-Improving-Image-Lab-UI-UX.md ├── 05-Sandagomi-Pieris-CrawlerX-Distributed-Crawling-System.md └── 04-Beshiniii-CrawlerX-Develop-Extensible-Distributed-Scalable-Web-Crawling-System.md ├── GSoC-2018 ├── Nadun_Bandara-Stackle.md ├── Kesh101-ImageLab.md ├── Rajendra_Kadam-NodeCloud_NewArchitecture_Azure.md ├── Dilantha_Wijayarathne-CLocal_GCP.md ├── Gayashan_Bombuwala-Bassa_Mobile.md ├── Malith_Senaweera-OpenSNA.md ├── Kavinda_Jayakody-OpenDF_Frontend_ReactJS.md ├── Shivam_Arora-Stackle_routes.md ├── Dinith_Minura-GoSocial_Common_template.md ├── Sumedhe_Dissanayake-Senz_Switch.md ├── Lakindu_Gunasekara-CLocal_Azure.md ├── Pratik_Dhanave-GoCloud.md ├── Janagan_Siva-Drola_Backend.md └── OddCN_GoCloud_AliCloud_Vulter.md ├── GSoC-2022 ├── 22-Mahmoud-Mohamed-Abdelwahab-SCoRe-Lab-Improving-the-supporting-more-models-in-the-TensorMap.md ├── 23-1209973-Survey-6.md ├── 06-Shahaab-Manzar-Codelabz-Project-Proposal.md ├── 18-pikulk-OpenXDR-GSoC-2022.md ├── 17-Upalanka-K-OpenXDR-Real-time-Open-Source-Extended-Detection-and-Response-System.md ├── 08-Takeshii-CrawlerX-Web.md ├── 05-Saksham-Sharma-CodeLabz-Frontend-Improvements.md ├── 07-Drifter-CrawlerX-Extend-CrawlerX-for-multi-protocols.md └── 21-Kaveesha-Dinamidu-Rewrite-ImageLab-backend.md ├── GSoC-2020 ├── Heshan-Geasman-Automated-deployments-and-testing-for-installer-to.md ├── Dande9304-Tor-Scraper.md ├── made777-Tor Scraper.md ├── Jiraiya665-TAF.md ├── Tharaka-Hewavitharana-Raven.md ├── Sashika-Nawarathne-LabelLab-Updating-the-mobile-application.md ├── Asitha-Indrajith-Community-Dictionary.md ├── Lakshyajeet-Dwivedee-Integrate-ML-module-for-LabelLab.md ├── Lakindu-Akash-Bug-Zero-gateway.md ├── Harshit-Verma-Express-Python.md ├── Nimesha-S-ChainX.md ├── Poornima-Rangoda-CrawlerX-Extensible-Distributed-Scalable-Crawler-System.md ├── Hansika-Wanniarachchi-Ukiyo-A-push-based-container-update-tool.md ├── Thisura-Rathnayake-CodeLabz.md ├── shivanshu1333-OpenMF.md ├── Devon-Wijesinghe-Webiu.md └── Vinuri BandarCommunity-Dictionary-A-crowd-sourced-multilingual-dictionary.md ├── GSoC-2017 ├── Tharidu_Fernando_EtherBeat_Smart_Contract_Monitoring_Service.md ├── Kavindi_Query_Parser_For_Senze_Language.md ├── Achinthya_OpenPub_Publication_Manager.md ├── Namal_Jayasuriya_DroLa.md ├── Lasith_Niroshan_Implementing_An_Android_Application_For_Controlling_Drones.md ├── Pasan_Gamaetige_Stackle.md ├── Rajika_AbeyrathneNode_Cloud_Unified_API_For_Cloud_Providers.md ├── Pasan_Ranathunga_Rewriting_OpenDF_Frontend_Using_React.md ├── Hasanga_Somaratne_DroneSym.md ├── Pratik_Dhanave_GoCloud.md ├── Shehan_Weerakkody_OpenDF_Image_Annotation_And_DescribeModule.md ├── Priya_Pappachan_OpenIoE_Implement_Bidirectional_Publish_Subscribe_Behaviour.md ├── Amila_Karunathilaka_Drone_Comm.md ├── Yasanka_Horawalavithana_BellyDynamic_A_Scalable_Data_Structure_To_Handle_Onlin_And_Offline_Dynamic_Graph_Objects.md └── Kaveesha_Baddage-Bassa_Dockerize_And_Modify_Features.md └── GSoC-2019 ├── withan-OpenIoE.md ├── Madhuri-VBMDAS.md ├── dande9304-OpenIoE.md ├── Tharaka-Romesh-NodeCloud.md ├── Wolf-Legend-Androphsy(OpenMF).md ├── Amrita-Chaturvedi-NodeCloud.md ├── Dilina-Dehigama-DroneSym.md ├── Pawan-Bhadu-Bassa.md ├── Anmol-Bansal-Fact-Bounty.md ├── Wathsara-Daluwatta-Go-Social.md ├── Yash-Mehrotra-Senz.md ├── Tuan-Amith-Fact-Bounty.md ├── Udesh-Kumarasignhe-LabelLab.md ├── Poornima-Rangoda-ChainKeeper.md ├── Lakindu-Gunasekara-CLocal-Azure.md ├── Durgesh-Kumar-Tensor-Map.md ├── Shehan-Dhaleesha-Go-social.md ├── Vibhor-Gupta-Bassa.md └── Devon-Wijesinghe-Fact-Bounty.md /README.md: -------------------------------------------------------------------------------- 1 | # GSoC 2 | SCoRe Lab GSoC Final Reports 3 | -------------------------------------------------------------------------------- /GSoC_Final_Report_Format.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | # Project Abstract 4 | 5 | ## [GSoC Project Page](http://LinikToYourGSoCProjectPage) 6 | 7 | ## [GSoC Project Proposal](http://LinikToYourGSoCProjectProposal) 8 | 9 | ## [GitHub Organization Repo](http://github.com/repo) 10 | 11 | ## [GitHub Personal Repo](http://github.com/repo) 12 | 13 | ## [Commits during GSoC 2017](http://github.com/commits) 14 | 15 | ## [Project Demo Video](http://LinkToDemoVideo) 16 | 17 | ## [Project Wiki](http://github.com) 18 | 19 | ## [GSoC Blog](http://GSoCBlog) 20 | 21 | # Work Summary 22 | 23 | # What Covered 24 | 25 | # What left 26 | 27 | # -------------------------------------------------------------------------------- /GSoC-2021/22-Shyam-Service-Market.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | # Project Abstract 4 | 5 | ## [GSoC Project Page](http://LinikToYourGSoCProjectPage) 6 | 7 | ## [GSoC Project Proposal](http://LinikToYourGSoCProjectProposal) 8 | 9 | ## [GitHub Organization Repo](http://github.com/repo) 10 | 11 | ## [GitHub Personal Repo](http://github.com/repo) 12 | 13 | ## [Commits during GSoC 2017](http://github.com/commits) 14 | 15 | ## [Project Demo Video](http://LinkToDemoVideo) 16 | 17 | ## [Project Wiki](http://github.com) 18 | 19 | ## [GSoC Blog](http://GSoCBlog) 20 | 21 | # Work Summary 22 | 23 | # What Covered 24 | 25 | # What left 26 | 27 | # -------------------------------------------------------------------------------- /GSoC-2021/17-Esandha-Vithanage-S-ChainX-Product-Hunter.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | # Project Abstract 4 | 5 | ## [GSoC Project Page](http://LinikToYourGSoCProjectPage) 6 | 7 | ## [GSoC Project Proposal](http://LinikToYourGSoCProjectProposal) 8 | 9 | ## [GitHub Organization Repo](http://github.com/repo) 10 | 11 | ## [GitHub Personal Repo](http://github.com/repo) 12 | 13 | ## [Commits during GSoC 2017](http://github.com/commits) 14 | 15 | ## [Project Demo Video](http://LinkToDemoVideo) 16 | 17 | ## [Project Wiki](http://github.com) 18 | 19 | ## [GSoC Blog](http://GSoCBlog) 20 | 21 | # Work Summary 22 | 23 | # What Covered 24 | 25 | # What left 26 | 27 | # -------------------------------------------------------------------------------- /GSoC-2018/Nadun_Bandara-Stackle.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | ## Student Info 4 | 5 | ### Project Abstract 6 | 7 | ### [GSoC Project Page](http://LinikToYourGSoCProjectPage) 8 | 9 | ### [GSoC Project Proposal](http://LinikToYourGSoCProjectProposal) 10 | 11 | ### [GitHub Organization Repo](http://github.com/repo) 12 | 13 | ### [GitHub Personal Repo](http://github.com/repo) 14 | 15 | ### [Commits during GSoC 2017](http://github.com/commits) 16 | 17 | ### [Project Demo Video](http://LinkToDemoVideo) 18 | 19 | ### [Project Wiki](http://github.com) 20 | 21 | ### [GSoC Blog](http://GSoCBlog) 22 | 23 | ### Work Summary 24 | 25 | ### What Covered 26 | 27 | ### What left 28 | 29 | ### Reference -------------------------------------------------------------------------------- /GSoC-2022/22-Mahmoud-Mohamed-Abdelwahab-SCoRe-Lab-Improving-the-supporting-more-models-in-the-TensorMap.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | # Project Abstract 4 | 5 | ## [GSoC Project Page](http://LinikToYourGSoCProjectPage) 6 | 7 | ## [GSoC Project Proposal](http://LinikToYourGSoCProjectProposal) 8 | 9 | ## [GitHub Organization Repo](http://github.com/repo) 10 | 11 | ## [GitHub Personal Repo](http://github.com/repo) 12 | 13 | ## [Commits during GSoC 2017](http://github.com/commits) 14 | 15 | ## [Project Demo Video](http://LinkToDemoVideo) 16 | 17 | ## [Project Wiki](http://github.com) 18 | 19 | ## [GSoC Blog](http://GSoCBlog) 20 | 21 | # Work Summary 22 | 23 | # What Covered 24 | 25 | # What left 26 | 27 | # -------------------------------------------------------------------------------- /GSoC-2020/Heshan-Geasman-Automated-deployments-and-testing-for-installer-to.md: -------------------------------------------------------------------------------- 1 | # Automated deployments and testing for installer.to 2 | 3 | ## Student Info 4 | 5 | * Name - Heshan Geasman 6 | * Email - 7 | * GitHub Profile - 8 | * Medium - 9 | * Twitter - []() 10 | 11 | ### Project Abstract 12 | 13 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/) 14 | 15 | ### [GSoC Project Proposal]() 16 | 17 | ### [GitHub Organization Repo]() 18 | 19 | ### [GitHub Personal Repo]() 20 | 21 | ### [Commits during GSoC 2020]() 22 | 23 | ### [Project Demo Video]() 24 | 25 | ### [GSoC Blog]() 26 | 27 | ### Work Summary 28 | 29 | ### What Covered 30 | 31 | ### What left 32 | 33 | ### Reference 34 | 35 | -------------------------------------------------------------------------------- /GSoC-2017/Tharidu_Fernando_EtherBeat_Smart_Contract_Monitoring_Service.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | EtherBeat 3 | 4 | ## Student Info 5 | Tharidu Fernando 6 | MSc Student at KTH, Stockholm, Sweden 7 | 8 | ### Project Abstract 9 | 10 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6738116227366912) 11 | 12 | ### [GSoC Project Proposal](https://summerofcode.withgoogle.com/serve/5369471546949632/) 13 | 14 | ### [GitHub Organization Repo](https://github.com/scorelab/EtherBeat) 15 | 16 | ### [GitHub Personal Repo](https://github.com/tharidu/EtherBeat) 17 | 18 | ### [Commits during GSoC 2017](https://github.com/tharidu/EtherBeat/commits/master) 19 | 20 | ### [Project Demo Video](http://LinkToDemoVideo) 21 | 22 | ### [Project Wiki](https://github.com/tharidu/EtherBeat/blob/master/README.md) 23 | 24 | ### Work Summary 25 | Main goal was designing a smart contract monitoring service for Ethereum utilizing that can provide enhance querying mechanisms for users. 26 | I have completed the NodeJS + GraphQL server that can provide the querying interface. 27 | Further, for block extraction and storing it to graph database, a separate Python script was developed. 28 | 29 | ### What Covered 30 | - GraphQL server 31 | - Contract querying 32 | - Reading smart contract properties 33 | - Authentication middleware 34 | - Python based block extractor 35 | 36 | ### What left 37 | - User-based notifications 38 | - Smart contract specific notifications (for balance) 39 | 40 | ### Reference 41 | -------------------------------------------------------------------------------- /GSoC-2018/Kesh101-ImageLab.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | ImageLab 3 | ## Student Info 4 | * Name: Keshan Withanage 5 | * Email: keshwithan@gmail.com 6 | * University: Swinburne university of technology 7 | * GitHub Profile: https://github.com/keshwithan 8 | * LinkdIn Profile: https://www.linkedin.com/in/keshanwithanage/ 9 | ### Project Abstract 10 | ImageLab is an image analyzing platform. Users can load large set of images to ImageLab and then they can perform analyzes by labeling and clustering them by using different object detection modules. ImageLab also have a user management component as well as an image analyzing component. 11 | ### [GSoC Project Page](http://LinikToYourGSoCProjectPage) 12 | 13 | ### [GSoC Project Proposal](http://LinikToYourGSoCProjectProposal) 14 | 15 | ### [GitHub Organization Repo](http://github.com/repo) 16 | 17 | ### [GitHub Personal Repo](http://github.com/repo) 18 | 19 | ### [Commits during GSoC 2017](http://github.com/commits) 20 | 21 | ### [Project Demo Video](http://LinkToDemoVideo) 22 | 23 | ### [Project Wiki](http://github.com) 24 | 25 | ### [GSoC Blog](http://GSoCBlog) 26 | 27 | ### Work Summary 28 | * Implement Sign-In functionality. 29 | * Implement Sign-up functionality. 30 | * Implement Usermanager component. 31 | * Implement Image Analyzing component. 32 | ### What Covered 33 | Completed all the above mentioned tasks. 34 | ### What left 35 | Additional components and APIs can be added to improve the next version of the application. 36 | ### Reference 37 | * Tensorflow - ​https://www.tensorflow.org/ 38 | * Python - https://www.python.org/ 39 | * Flask - ​http://flask.pocoo.org/ 40 | * ​React - https://reactjs.org/ 41 | * MongoDB - ​https://www.minio.io/ 42 | -------------------------------------------------------------------------------- /GSoC-2022/23-1209973-Survey-6.md: -------------------------------------------------------------------------------- 1 | # Survey6 2 | 3 | # Project Abstract 4 | 5 | Ipv6 is the internet's future, and it necessitated a more scalable survey tool to comprehend how routing and DNS function. The purpose of this project is to create an IPv6 listener that will actively collect IPv6 traffic data as a active data collection tool for cyber security research. 6 | 7 | ## [GSoC Project Page](https://summerofcode.withgoogle.com/programs/2022/projects/2cIQ4Zvg) 8 | 9 | ## [GSoC Project Proposal](https://summerofcode.withgoogle.com/proposals/details/NE6vYXHq) 10 | 11 | ## [GitHub Organization Repo](https://github.com/web-telescope/Survey6-Active) 12 | 13 | ## [GitHub Personal Repo](https://github.com/1209973/Survey6-Active) 14 | 15 | ## [Commits during GSoC 2022](https://github.com/web-telescope/Survey6-Active/commits?author=1209973) 16 | 17 | ## [Project Demo Video](https://drive.google.com/file/d/14ja1hqBrf8gNS9U5xJOxu4pF69cjpY2o/view?usp=sharing) 18 | 19 | ## [GSoC Blog](https://medium.com/@chamath_eka) 20 | 21 | # Work Summary 22 | 23 | In GSoc 2022, I worked on the development of the active scanner in Survey6. Decided the folder strucutre and created the build file. Created a ping function using sockets to check the reachbility of the ipv6 address. Worked on optimization using threads. 24 | 25 | # What Covered 26 | 27 | - Generates all the ipv6 addresses for a given network range. 28 | - For each Ipv6 check its reachbility. 29 | - Use threading to improve performance. 30 | - saves the results to a CSV file 31 | 32 | # What left 33 | 34 | - Optimizing the scaner by generating ipv6 address for the given network range using a statistical modal. 35 | - Identifying alias ipv6 addresses. 36 | -------------------------------------------------------------------------------- /GSoC-2020/Dande9304-Tor-Scraper.md: -------------------------------------------------------------------------------- 1 | # Tor Scraper 2 | Tor Scraper - Hidden ServiceCrawler 3 | 4 | ## Student Info 5 | 6 | * Name - D.DE SILVA 7 | * Email - dande9304@gmail.com 8 | * GitHub profile - https://github.com/dande9304 9 | 10 | ### Project Abstract 11 | The Tor Scraper is a dark web tor hidden service crawler. It starts crawling from a given .onion URL list(seed list) and it also discovers new hidden service URLs. In the current implementation, most of the configurations need to be done via command line and editing the code. In this project, we make more user friendly and we will add new user management component improves the monitoring interface. 12 | 13 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4738535497662464) 14 | 15 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1CCK4vBLB8RQNsqsBkuRTtmv7TjDgvT4Z/view?usp=sharing) 16 | 17 | ### [GitHub Organization Repo](https://github.com/scorelab/TorScrapper) 18 | 19 | ### [GitHub Personal Repo](https://github.com/dande9304/TorScrapper) 20 | 21 | ### [Commits during GSoC 2020](https://github.com/scorelab/TorScrapper/commits/master) 22 | 23 | ### [Project Demo Video]() 24 | 25 | ### [GSoC Blog]() 26 | 27 | ### Work Summary 28 | * Create develop interactive and attractive user-interface 29 | * Add user management module 30 | * Improve current crawler progress monitoring system 31 | 32 | ### What Covered 33 | Completed all the above mentioned tasks. 34 | 35 | ### What left 36 | * Documentation need to be updated. 37 | * Code need to be optimize more. 38 | * Complete more of the testing for the project. 39 | 40 | 41 | 42 | ### Reference 43 | * Tor Scraper - (https://github.com/scorelab/TorScrapper) 44 | * Python - (https://www.python.org/) 45 | -------------------------------------------------------------------------------- /GSoC-2018/Rajendra_Kadam-NodeCloud_NewArchitecture_Azure.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | Rewrite NodeCloud core and add Azure Plugin Support. 4 | 5 | ## Student Info 6 | 7 | Name: Rajendra Kadam 8 | 9 | University: Mumbai University 10 | 11 | ### Project Abstract 12 | 13 | Rewrite core architecture so addition of new cloud providers is easy. Follow plugin architecture to build new support. Also add NodeCloud support for Azure. 14 | 15 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6016749460258816) 16 | 17 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1EA7UeKi0tSuvUiiZdF3TWQt7grVMsAkggEt-HXr2FeE/edit?usp=sharing) 18 | 19 | ### [GitHub Organization Repo](https://github.com/cloudlibz/nodecloud-azure-plugin) 20 | 21 | ### [GitHub Personal Repo](https://github.com/raju249/nodecloud-azure) 22 | 23 | ### [Commits during GSoC 2018](https://github.com/cloudlibz/nodecloud-azure-plugin/commits?author=raju249) 24 | 25 | ### Project Demo Video 26 | 27 | ### [Project Wiki](https://github.com/cloudlibz/nodecloud-core/blob/master/README.md) 28 | 29 | ### [GSoC Blog](https://medium.com/nodecloud) 30 | 31 | ### Work Summary 32 | 33 | Everything planned in the proposal for the summer is completed with extra support implementation. NodeCloud now supports new architecture along with Azure support. 34 | 35 | ### What Covered 36 | 37 | Everything mentioned in the proposal with other services support which were not mentioned in the proposal. Coding features for the library along with unit tests and documentation for NodeCloud Azure Plugin and Core. 38 | 39 | ### What left 40 | 41 | Documentation for NodeCloud AWS and NodeCloud GCP plugins. 42 | 43 | ### Reference 44 | 45 | https://github.com/Azure/azure-sdk-for-node 46 | -------------------------------------------------------------------------------- /GSoC-2017/Kavindi_Query_Parser_For_Senze_Language.md: -------------------------------------------------------------------------------- 1 | # Query parser for Senze language 2 | 3 | ## Student Info 4 | 5 | Name : Kavindi Oshini 6 | E-mail : kavindi.2016385@iit.ac.lk 7 | 8 | ### Project Abstract 9 | 10 | In MySensors platform the application communicate each other using Senzes language. At the moment there are no proper mechanism to generate and parse Senzes queries. From this project we will provide dynamic query generating and parsing library for Senzes language. 11 | 12 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6119088832118784) 13 | 14 | ### [GSoC Project Proposal](https://storage.googleapis.com/summerofcode-prod.appspot.com/gsoc/core_project/doc/5688406618144768_1491223267_QueryparserforSenzelanguage.pdf?Expires=1504110695&GoogleAccessId=summerofcode-prod%40appspot.gserviceaccount.com&Signature=hWIpzdCPAcBQn9zfM6qu30rMAipCGjzrtfbpYflsEikTiIrcrHc%2BdrATTfXfbDCh7HpTXhuHLm5ipvK5sXZSrw994gNWvBvdaEJ%2F9%2BDn5ZF%2BmxpIMMkPj7WzUn6lB7Q2KpNIuWo3W2b%2FpOVkEtcpddX8aZhXewkay%2BxANGjK7Hx2Ja1jyqLKK1D6ZCXYRgqRE7VHXuwr%2BqCwL7b2LsH5DqsUv2bo7W%2BQbW7DbRxX4awFO3r86ps802eXPrDO4pfFbBUtvwipBFF5X7JhD%2FdNZAMEood0oWOCAZlYQOXX1dDnJfUtAfP5DqN0f41tM1Fe1aJ6iuqwo4%2FsrIRmwy0jlA%3D%3D) 15 | 16 | ### [GitHub Organization Repo](http://github.com/repo) 17 | 18 | ### [GitHub Personal Repo](https://github.com/kavindiOshini/SenzeQL) 19 | 20 | ### [Commits during GSoC 2017](https://github.com/kavindiOshini/SenzeQL/commits/master) 21 | 22 | ### [Project Demo Video](http://LinkToDemoVideo) 23 | 24 | ### [Project Wiki](https://github.com/scorelab/SenzeQL/wiki/) 25 | 26 | ### [GSoC Blog](http://GSoCBlog) 27 | 28 | ### Work Summary 29 | 30 | Built a query parser and builder in Senze language. Also create Senze client to demonstrate parser and builder. 31 | 32 | ### What Covered 33 | 34 | - Senze query parser 35 | - Senze query builder 36 | - Senze client 37 | 38 | ### What left 39 | 40 | - Performance improvements 41 | 42 | ### Reference -------------------------------------------------------------------------------- /GSoC-2019/withan-OpenIoE.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | OpenIoE - Implement authentication for message broker and rest API for OpenIOE 3 | 4 | ## Student Info 5 | * Name: K.Withan 6 | * Email: keshwithan@gmail.com 7 | * GitHub Profile: https://github.com/keshwithan 8 | 9 | ### Project Abstract 10 | OpenIoE is an Open-source middleware platform for building, managing, and integrating connected products with the Internet of Everything. It enables you to subscribe to data streams and get data from the sensors and store them. The application was generated using JHipster application generator. 11 | 12 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5322495769444352) 13 | 14 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1W19K_ADzj9rWNvhv2q8lNiJ5B5t_0JDL/view?usp=sharing) 15 | 16 | ### [GitHub Organization Repo](https://github.com/scorelab/OpenIoE) 17 | 18 | ### [GitHub Personal Repo](https://github.com/keshwithan/OpenIoE) 19 | 20 | ### [Commits during GSoC 2019](https://github.com/scorelab/OpenIoE/commits/master) 21 | 22 | ### [Project Demo Video](http://LinkToDemoVideo) 23 | 24 | ### [Project Wiki](http://github.com) 25 | 26 | ### [GSoC Blog](http://GSoCBlog) 27 | 28 | ### Work Summary 29 | * Develop the JAAS plugin for authenting user credential. 30 | * Implement token based authentication using redis. 31 | * Implement authorization layer. 32 | * Wrote Unit tests for the developed functions. 33 | 34 | ### What Covered 35 | Completed all the above mentioned tasks. 36 | 37 | ### What left 38 | * Write more unit tests for some components. 39 | * Documentations needs to be updated. 40 | 41 | 42 | ### Reference 43 | * MQTT - http://mqtt.org/ 44 | * Apache ActiveMQ - https://activemq.apache.org/components/artemis/ 45 | * Apache Cassandra - http://cassandra.apache.org/ 46 | * Spring - https://spring.io/projects/spring-boot 47 | * JAAS - https://docs.oracle.com/javase/7/docs/technotes/guides/security/jaas/JAASLMDevGuide.html 48 | -------------------------------------------------------------------------------- /GSoC-2019/Madhuri-VBMDAS.md: -------------------------------------------------------------------------------- 1 | # Project Name - Vision based machine drawing analyzing system (VBMDAS) 2 | 3 | ## Student Info 4 | - Name: Madhuri E. 5 | - Email: madurie7@gmail.com 6 | - GitHub Profile: https://github.com/made777 7 | 8 | ### Project Abstract 9 | The ultimate objective of this project is to develop an automated software system with a graphical user interface that can estimate the manufacturing cost and time based on machine drawings. Machine drawings are the standard procedure for providing precise details necessary for the engineering manufacturing processes of products. These machine drawings include dimensions, various symbols, and the 2-dimensional views, describing the geometry of the product. 10 | 11 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6230572819546112) 12 | 13 | ### [GSoC Project Proposal](https://docs.google.com/document/d/e/2PACX-1vTsQWAEQ_3Dy2ctLuV5D3AzwAAuF-_m7D2sscE1comOryg5FdMmb7mHBO7bJYXkcICPcnq6Vdh77iME/pub) 14 | 15 | ### [GitHub Organization Repo](https://github.com/scorelab/VBMDAS) 16 | 17 | ### [GitHub Personal Repo](https://github.com/made777/VBMDAS) 18 | 19 | ### [Commits during GSoC 2019](https://github.com/made777/VBMDAS/commits/master) 20 | 21 | ### [Project Demo Video](https://drive.google.com/file/d/1QlD8ZYDIbtjn5GLHdJ7TJbzqqPKRd78F/view?usp=sharing) 22 | 23 | ### [Project Wiki](http://github.com) 24 | 25 | ### [GSoC Blog](http://GSoCBlog) 26 | 27 | ### Work Summary 28 | For the GSoC 2019, I've worked on the design and implement an algorithm to vision based machine drawing analysis and implement UI design to user login and user management. 29 | 30 | ### What Covered 31 | - Design vision-based machine drawing analysis algorithm 32 | - Implement the vision-based machine drawing analysis algorithm 33 | - Test the algorithm using different sample drawings 34 | - Design and implement the UI 35 | 36 | ### What left 37 | - Unit Testing 38 | 39 | ### Reference 40 | https://opencv.org 41 | https://www.python.org 42 | https://palletsprojects.com/p/flask/ 43 | https://reactjs.org 44 | https://semantic-ui.com 45 | -------------------------------------------------------------------------------- /GSoC-2017/Achinthya_OpenPub_Publication_Manager.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | OpenPub - A publication manager for individuals and research groups 3 | ## Student Info 4 | Name: Achinthya Wijesekara University: Informatics Institute of Technology 5 | ### Project Abstract 6 | OpenPub is a publication manager for individuals and research groups to manage their publication references and also to share it with others. 7 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4887116654837760) 8 | 9 | ### [GSoC Project Proposal](http://LinikToYourGSoCProjectProposal) 10 | 11 | ### [GitHub Organization Repo](https://github.com/scorelab/OpenPub) 12 | 13 | ### [GitHub Personal Repo](https://github.com/achinthya94/OpenPub) 14 | 15 | ### [Commits during GSoC 2017](https://github.com/achinthya94/OpenPub/commits/master) 16 | 17 | ### [Project Demo Video](http://LinkToDemoVideo) 18 | 19 | ### [Project Wiki](http://github.com) 20 | 21 | ### [GSoC Blog](http://GSoCBlog) 22 | 23 | ### Work Summary 24 | This project was conducted in order to create a portal for individuals and research groups to manage their publication references. Development of this application was consist of two parts, one part has the public site where normal users can check the pulic publication lists and publications. Other part has the mechanism to create and update publications, publication lists and maintain their metadata information. Users can use their google credentials to login to the portal. Private publication lists can be maintained and also if needed they can be shared and the sharing status of the publication can be decided by publication wise and list wise. 25 | [Online Demo](https://openpub-41be7.firebaseapp.com/#/) 26 | ### What Covered 27 | * Implemented firebase authentication for google accounts 28 | * Integration of firease services 29 | * Implemented publication lists and publications 30 | * Implemented publication and publication list manipulation part 31 | * Implemented categorization and search functionalities 32 | * Implemented sharing feature for publications and publication lists 33 | ### What left 34 | * Need to create the feedback providing part 35 | ### Reference 36 | -------------------------------------------------------------------------------- /GSoC-2019/dande9304-OpenIoE.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | OpenIoE - Implement User Interface for OpenIoE 3 | 4 | ## Student Info 5 | * Name - D.DE SILVA 6 | * Email - dande9304@gmail.com 7 | * GitHub profile - https://github.com/dande9304 8 | 9 | ### Project Abstract 10 | OpenIoE is an Open-source middleware platform for building, managing, and integrating connected products with the Internet of Everything. It is an association of individuals, procedure, information and things. Furthermore, it is also portrayed by sensor gadgets to distinguish measure and offer data for all associated open or private systems utilizing standard and restrictive conventions. 11 | 12 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5060091152171008) 13 | 14 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1aDSZHR75WoEGbsusOjF_atk481grQpLg/view?usp=sharing) 15 | 16 | ### [GitHub Organization Repo](https://github.com/scorelab/OpenIoE) 17 | 18 | ### [GitHub Personal Repo](https://github.com/dande9304/OpenIoE) 19 | 20 | ### [Commits during GSoC 2019](https://github.com/dande9304/OpenIoE/commits/master) 21 | 22 | ### [Project Demo Video](http://LinkToDemoVideo) 23 | 24 | ### [Project Wiki](http://github.com) 25 | 26 | ### [GSoC Blog](http://GSoCBlog) 27 | 28 | ### Work Summary 29 | 30 | I have completed the following project goals. 31 | 32 | * Detach JHipster Angularjs frontend from OpenIoE. 33 | * Develop REACT frontend for OpenIoE. 34 | * Integrate JHipster API and IoE API for the frontend. 35 | * Do testing for frontend functionality. 36 | 37 | ### What Covered 38 | 39 | Covred the above project goals. For the REACT frontend developed the following. 40 | 41 | * Sign Up 42 | * Login 43 | * Home 44 | * Devices 45 | * Search 46 | * Profile 47 | 48 | 49 | ### What left 50 | * Need to complete testing for rendering. 51 | * Need to update documentation. 52 | * Need to optimize the code. 53 | 54 | ### Reference 55 | * OpenIOE - (https://github.com/scorelab/OpenIoE) 56 | * React Library - (https://reactjs.org) 57 | * React Guide - (https://frontarm.com/james-k-nelson/9-react-resources/) 58 | * JHipster API - (https://www.jhipster.tech/api-gateway/) -------------------------------------------------------------------------------- /GSoC-2017/Namal_Jayasuriya_DroLa.md: -------------------------------------------------------------------------------- 1 | # DroLa 2 | 3 | ## Namal Jayasuriya 4 | e.n.jayasuriya@gmail.com 5 | 6 | ### Project Abstract 7 | A secure drone monitering system for a central authority Using LORA. Each drone has a externaly mounted unit on it. It transmit it's location and time in a secure way when it is flying. 8 | 9 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5995323712339968) 10 | 11 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1-pXsKezPtq4lK4zOukn4ZdbWuOBoAXDFYSu32KRCHws/edit?usp=sharing) 12 | 13 | ### [GitHub Organization Repo](https://github.com/scorelab/drola) 14 | 15 | ### [GitHub Personal Repo](https://github.com/NamalJayasuriya/drola) 16 | 17 | ### [Commits during GSoC 2017](https://github.com/NamalJayasuriya/drola/commits/master) 18 | 19 | ### [Project Demo Video](https://www.youtube.com/watch?v=1I--f2gv1WM&list=UUuT-aJUcxQLe6E5IRniEX6A&index=1) 20 | 21 | ### [Project Wiki](https://github.com/NamalJayasuriya/drola/wiki/Drola) 22 | 23 | ### Work Summary 24 | 25 | Built a secure drone monitering system. Central authority can monitor the locations of each registered drone in a secured way.(At the proposal I proposed RSA security but with the limitations of microcontroller hardware I implemented AES security algorithm for this project. According to the requirement AES is secure enough.) 26 | 27 | I built a server system and browser application to the Central authority. 28 | 29 | Designed a hardware unit and built the firmware for the end node. 30 | 31 | Design a secure and effient message protocol for the system. 32 | 33 | 34 | ### What Covered 35 | 36 | Web server and web client apllication to monitor drones. 37 | 38 | Api to get drone locations from serial port, decrypt them and send them to browser applications. 39 | 40 | End node Hardware module. 41 | 42 | End node Firmware. 43 | 44 | Base node Hardware module. 45 | 46 | An effient and secure message protocol. 47 | 48 | 49 | ### What left 50 | 51 | Trusted Key Zone implementation for End Node. 52 | 53 | Browser Application improvements. 54 | 55 | Key Generation and Key transformation(to end node trusted zones) tool for base Node. 56 | 57 | ### Reference 58 | -------------------------------------------------------------------------------- /GSoC-2018/Dilantha_Wijayarathne-CLocal_GCP.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | Clocal-gcp 4 | 5 | ## Student Info 6 | 7 | - Name: Dilantha Prasanjith Wijayarathne 8 | - Email: dilantha.prasanjith111@gmail.com 9 | - University: Uva Wellassa University, Sri Lanka 10 | - GitHub Profile: https://github.com/dilantha111 11 | - LinkedIn Profile: https://www.linkedin.com/in/dilantha-prasanjith-9592188a/ 12 | 13 | ### Project Abstract 14 | 15 | CLocal GCP is an local emulator to test or mock the Google Cloud Services without deploying into Google Cloud Platform, and provide easiness for developer by reducing the cost. Our goal is to have all GCP services possible local services into one single project and provide easiness to run a whole Google Cloud project locally. Currently project supports Cloud functions and Cloud storage to run locally. 16 | 17 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4920929088438272) 18 | 19 | ### [GSoC Project Proposal](https://drive.google.com/open?id=1s07MB3pbVVyQX4IaAEXs_WOA-EiUeeql) 20 | 21 | ### [GitHub Organization Repo](https://github.com/cloudlibz/clocal-gcp) 22 | 23 | ### [GitHub Personal Repo](https://github.com/dilantha111/clocal-gcp) 24 | 25 | ### [Commits during GSoC 2017](https://github.com/cloudlibz/clocal-gcp/commits/master) 26 | 27 | ### [Project Demo Video](https://www.youtube.com/playlist?list=PLi2oqUH-oH1dybmz0FzWSlQoLzqGg8nXY) 28 | 29 | ### [Project Wiki](https://github.com/cloudlibz/clocal-gcp/wiki) 30 | 31 | ### [GSoC Blog](https://medium.com/clocal) 32 | 33 | ### Work Summary 34 | 35 | For the GSoC 2018, I've initiated the project from the scratch and added two servies to emulate locally. 36 | Services added, 37 | 38 | - Cloud Functions 39 | - Cloud Storage 40 | 41 | ### What Covered 42 | 43 | For the Cloud functions CLI commands were covered for testing locally. And For the Cloud Storage Cli Commands and local API endpoints were covered for the storage buckets. 44 | 45 | ### What left 46 | 47 | Adding more Google Cloud services. 48 | 49 | ### Reference 50 | 51 | - [Google Cloud storage documentation](https://cloud.google.com/storage/) 52 | - [Google Cloud Functions documentation](https://cloud.google.com/functions/) 53 | -------------------------------------------------------------------------------- /GSoC-2018/Gayashan_Bombuwala-Bassa_Mobile.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | Bassa mobile app 3 | 4 | ## Student Info 5 | - Name: Gayashan Bombuwala 6 | - Email: gayashanbc@gmail.com 7 | - University: Informatics Institute of Technology, Sri Lanka 8 | - GitHub Profile: https://github.com/gayashanbc 9 | - LinkedIn Profile: https://www.linkedin.com/in/gayashanbc/ 10 | 11 | ### Project Abstract 12 | Bassa is automated download queue for the enterprise to take the best use of their internet bandwidth. It is capable of avoiding redundant downloads within an enterprise. Currently, users interact with Bassa using the Bassa web-app. The objective of this project is to design and implement a new mobile app for Bassa using the React Native stack. 13 | 14 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6521578305617920) 15 | 16 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1R_QtffE3AR8ZpmaH5BrryML3-F-Zm6C7Kiq9-SgjnWU/edit?usp=sharing) 17 | 18 | ### [GitHub Organization Repo](https://github.com/scorelab/Bassa-mobile) 19 | 20 | ### [GitHub Personal Repo](https://github.com/gayashanbc/Bassa-mobile) 21 | 22 | ### [Commits during GSoC 2018](https://github.com/scorelab/Bassa-mobile/commits?author=gayashanbc) 23 | 24 | ### [Project Demo Video](https://youtu.be/YtQtahyo3SE) 25 | 26 | ### [Project Wiki](https://github.com/gayashanbc/Bassa-mobile/wiki) 27 | 28 | ### [GSoC Blog](https://medium.com/@gayashanbc/gsoc-2018-summary-b628da48659) 29 | 30 | ### Work Summary 31 | - Implement Sign-In functionality 32 | - Implement Sign-Up workflow 33 | - Implement Completed Downloads and In Progress Downloads view and remove functionalities 34 | - Implement Add New Download Functionality 35 | - Implement View Quota Usage and Downloads Management Functionalities 36 | - Implement Push Notifications For Completed Downloads 37 | - Add Unit Tests 38 | - Implement Keep Me Signed-In Functionality 39 | 40 | ### What Covered 41 | Completed the all of the above mentioned tasks. 42 | 43 | ### What left 44 | - Test the application on iOS devices 45 | 46 | ### Reference 47 | - [React Native](https://facebook.github.io/react-native/) 48 | - [Redux](https://redux.js.org/) 49 | - [Jest](https://jestjs.io/) 50 | - [InVision](https://www.invisionapp.com/) 51 | -------------------------------------------------------------------------------- /GSoC-2020/made777-Tor Scraper.md: -------------------------------------------------------------------------------- 1 | # Integrate Splash based website Crawler and Analysis Interface for Tor Scraper 2 | 3 | ## Student Info 4 | 5 | * Name - Madhuri 6 | * Email - madurie7@gmail.com 7 | * GitHub Profile - https://github.com/made777 8 | 9 | ### Project Abstract 10 | The Tor network is a volunteer-run system that helps make internet use more anonymous. Tor Scraper can crawl web pages hosted on the ToR network. At monument Tor Scraper only supports curl based and scrapy based crawlers. Splash is a lightweight, scriptable headless browser and it can extract web site structure and take live screenshots of the crawled site. Integrated splash crawler to Tor Scraper provides nice tree-based tor hidden service website structure analysis features. 11 | 12 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5262515887407104) 13 | 14 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1NvIdHo_2DF4e5XCtwAlODrq9RHwKUw4w/view?usp=sharing) 15 | 16 | ### [GitHub Organization Repo](https://github.com/scorelab/TorScrapper) 17 | 18 | ### [GitHub Personal Repo](https://github.com/made777/TorScrapper) 19 | 20 | ### [Commits during GSoC 2020](https://github.com/scorelab/TorScrapper/commits/master) 21 | 22 | ### [Project Demo Video]() 23 | 24 | ### [GSoC Blog]() 25 | 26 | ### Work Summary 27 | Gsoc 2020 I implemented the web scraping functionality to render, interact and extract data from website. Also completed the screenshot capabilities and allow user to extract web site structures. 28 | 29 | ### What Covered 30 | Using scrapy-splash library intigreat splash to Tor Scraper scrapy crawler. 31 | * Implement slash parser 32 | * Store parse data in mariadb and elasticsearch 33 | * Design and Implement Flask API expose data to front-end 34 | * Design Analysis interface 35 | * Implement Tree based structure using ETE Toolkit 36 | 37 | ### What left 38 | * Unit testing need to be completed 39 | * Integrated testing need to be completed 40 | * Documentation needs to be updated 41 | 42 | ### Reference 43 | * [Splash](https://splash.readthedocs.io/en/stable/) 44 | * [ETE Toolkit - A Python framework for the analysis and visualization of trees](http://etetoolkit.org/) 45 | * [Tor Scraper](https://github.com/scorelab/tor-scraper) 46 | -------------------------------------------------------------------------------- /GSoC-2022/06-Shahaab-Manzar-Codelabz-Project-Proposal.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | Codelabz - Frontend Improvement 3 | 4 | # Project Abstract 5 | Codelabz provides a platform that consists of guided tutorial which has been created by organizations for the users. Codelabz is developed using ReactJS, Material UI in the Front End, and Google Firebase in the backend. I made stories for the components and created the profile page. It is tested using cypress and is responsive. 6 | 7 | ## [GSoC Project Page]((https://dev.codelabz.io/)) 8 | 9 | ## [GSoC Project Proposal](https://github.com/scorelab/Codelabz) 10 | 11 | ## [GitHub Organization Repo](https://github.com/scorelab/Codelabz) 12 | 13 | ## [GitHub Personal Repo](http://github.com/repo) 14 | 15 | ## [Commits during GSoC 2022](https://github.com/scorelab/Codelabz/pulls?q=is%3Apr+author%3Ashahaab+is%3Aclosed) 16 | 17 | ### Issue created: 18 | * Changing a component in Profile page #446 19 | * Profile component changes #441 20 | * Create stories for Credentials, Highlight & Description #320 21 | * Inconsistent 'Header Section' across various page #264 22 | 23 | ### PR's created: 24 | * Changes to profile component #442 25 | * Changes in user profile to make it responsive. #430 26 | * Initial user profile page #368 27 | * Testing for CardWithImage and CardWithoutImage #359 28 | * Testing for UserDetails #358 29 | * Testing for Switch Account Component #357 30 | * Testing the Social Icons component #356 31 | * Card components with stories #345 32 | * Add SocialIcons #341 33 | * Component for user details #340 34 | 35 | ## [Project Demo Video](https://youtu.be/ro7bVbgWIm4) 36 | 37 | ## [Project Wiki](https://github.com/scorelab/Codelabz/wiki/User-Profile) 38 | 39 | ## [GSoC Blog](http://GSoCBlog) 40 | 41 | # Work Summary 42 | I Worked on implementing the new UI for Codelabz. First converted all the UI to different components, created the stories for the compoenents. Implementing the component and writing the cypress test for them. integrating the component to the User Profile page. 43 | 44 | # What Covered 45 | * New UI 46 | * Created seperate components 47 | * Created the stories for the components 48 | * Writing cypress test for the components 49 | * Developed new pages 50 | * Learned Firebase, Storybook, Chromatic. 51 | 52 | 53 | # What left 54 | * Firebase for new components. 55 | 56 | # -------------------------------------------------------------------------------- /GSoC-2020/Jiraiya665-TAF.md: -------------------------------------------------------------------------------- 1 | # TAF - Test Automation Framework 2 | 3 | ## Student Info 4 | 5 | * Name - Shashindra 6 | * Email - jiraiya665@gmail.com 7 | * GitHub Profile - https://github.com/jiraiya665 8 | 9 | ### Project Abstract 10 | TAF is a new Cloud-based Universal Test Automation Framework that mainly focuses on regression testing. So it will greatly improve the quality and performance of the software. TAF will also build on testing methodology independence. This is going to be a huge advantage because TAF will be a Universal framework that supports both agile and waterfall testing methodologies. It’s going to be a very user-friendly Cloud-based Universal Test Automation framework with lots of new features and functionalities. 11 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5444199161266176) 12 | 13 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1WWG6c9WLu1SmswqvfnD1Hlf-plzHV6bs/view?usp=sharing) 14 | 15 | ### [GitHub Organization Repo](https://github.com/scorelab/TAF) 16 | 17 | ### [GitHub Personal Repo](https://github.com/jiraiya665/TAF) 18 | 19 | ### [Commits during GSoC 2020](https://github.com/scorelab/TAF/commits/master) 20 | 21 | ### [Project Demo Video]() 22 | 23 | ### [GSoC Blog]() 24 | 25 | ### Work Summary 26 | For GSOC 2020, I implemented the TAF system to provide the necessary actions of aubomation web driver, some bastic interactins between test layer. Furthermore TAF includes the advanced configurations and functions regarding the mechanism of the proposed solution. The TAF solution test automation work simplicity and the user can interfere scripting test cases, command executin of the test suite and review test reports. 27 | 28 | ### What Covered 29 | * Well-structured project design for High Maintainability and Readability of the Test Scripts 30 | * WebDriver connection functions implementation 31 | * Defining a Web page and its elements to a one class 32 | * External element object file (XML) 33 | * Separate Test level to write test cases 34 | 35 | ### What left 36 | * Cover more tests 37 | * Code optimization 38 | * Documentation 39 | ### Reference 40 | - [Aspire Systems](https://blog.aspiresys.com/testing/design-patterns-in-test-automation-world/) 41 | - [Automation Rhapsody](https://automationrhapsody.com/design-patterns-every-test-automation-engineer-should-know/) 42 | - [Seleniumhq.org](https://www.selenium.dev/documentation/en/) 43 | -------------------------------------------------------------------------------- /GSoC-2020/Tharaka-Hewavitharana-Raven.md: -------------------------------------------------------------------------------- 1 | # Raven 2 | 3 | ## Student Info 4 | 5 | - Name - Tharaka Hewavitharana 6 | - Email - tharakaromesh@gmail.com 7 | - GitHub Profile - https://github.com/TRomesh 8 | - Medium - https://medium.com/@TRomesh 9 | - Twitter - [https://twitter.com/DTRomesh](DTRomesh) 10 | 11 | ### Project Abstract 12 | 13 | Raven is a cloud-native API monitoring tool to monitor the health of 3rd party APIs. APIs can be grouped by spaces. A target represents APIs to be monitored. Monitoring reports should be generated. The initial version will be based on AWS stack. 14 | 15 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5348611660972032) 16 | 17 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1lgqgHB3eu2uRn65qdu0wdA-GU4nE9YHEe_lmDGRaofo/edit?usp=sharing) 18 | 19 | ### [GitHub Organization Repo](https://github.com/leopardslab/raven) 20 | 21 | ### [GitHub Personal Repo](https://github.com/TRomesh/raven) 22 | 23 | ### [Commits during GSoC 2020](https://github.com/leopardslab/raven/commits) 24 | 25 | ### [Project Demo Video]() 26 | 27 | ### [GSoC Blog](https://medium.com/@TRomesh) 28 | 29 | ### Work Summary 30 | 31 | During the GSOC coding period, I have covered almost all of the milestones discussed with the mentors initially. The main tasks achieved were: 32 | 33 | - Requirement refinement with mentor 34 | - Designing the architecture 35 | - Creating Wireframes / User Interfaces (UI) for templates 36 | - Developing the web application with components 37 | - Documentation 38 | 39 | ### What Covered 40 | 41 | The following are the tasks I completed: 42 | 43 | - Adding Authentication and Authorization 44 | - Adding Authorization clients like Google and Github 45 | - Creating Spaces for gathering metrices for services 46 | - Defining and developing Metrics gathering packages 47 | - Implementing User interfaces for displaying metrics 48 | - Defining time(Schedules) based checks for Mesuring up-time/down-time 49 | - Implmenting package for corn jobs/ Scheduled checks 50 | - Implementing map view for Region wife checks and application deployments 51 | 52 | ### What left 53 | 54 | The following are the tasks that is remaning: 55 | 56 | - Deploying the application in mutiple regions 57 | - Conducting Regions wised checks 58 | 59 | ### Reference 60 | 61 | - https://github.com/cloudlibz/raven 62 | - https://golang.org/doc/ 63 | - https://apex.sh/ping/ 64 | -------------------------------------------------------------------------------- /GSoC-2021/15-Shadow-CodeLabZ.md: -------------------------------------------------------------------------------- 1 | # Codelabz - Develop mobile application 2 | 3 | ## Student Info 4 | - Name - Hirantha Rathnayake 5 | - Email - mail@hirantha.xyz 6 | - GitHub Profile - [https://github.com/hiranthaR](https://github.com/hiranthaR) 7 | - LinkedIn - [https://www.linkedin.com/in/hirantha-rathnayake](https://www.linkedin.com/in/hirantha-rathnayake) 8 | 9 | # Project Abstract 10 | 11 | CodeLabz is a platform where the users can engage with online tutorials and the organizations can create tutorials for the users. The platform will be developed using ReactJS front end library, Flutter mobile and the back end will be developed using the Google Cloud Firestore and Google Firebase Real-Time database. 12 | 13 | ## [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6725559515611136) 14 | 15 | ## [GSoC Project Proposal]([http://LinikToYourGSoCProjectProposal](https://drive.google.com/file/d/1g7-nLQB8dIJrMfeM3Dko_y3QZ70Kbewd/view?usp=sharing)) 16 | 17 | ## [GitHub Organization Repo web/backend](https://github.com/scorelab/Codelabz) 18 | ## [GitHub Organization Repo mobile](https://github.com/scorelab/Codelabz-Mobile) 19 | 20 | ## [GitHub Personal Repo web/backend](https://github.com/hiranthar/Codelabz) 21 | ## [GitHub Personal Repo mobile ](https://github.com/hiranthar/Codelabz-mobile) 22 | 23 | ## [Commits during GSoC 2021 web/backend](https://github.com/scorelab/Codelabz/commits?author=hiranthar) 24 | ## [Commits during GSoC 2021 mobile](https://github.com/scorelab/Codelabz-mobile/commits?author=hiranthar) 25 | 26 | ## [Project Demo Video](https://drive.google.com/file/d/13pyyDqhdqbJUJS976WHMR3zL1BzrAfqt/view?usp=sharing) 27 | 28 | ### [GSoC Blog](https://medium.com/scorelab) 29 | 30 | # Work Summary 31 | For GSoC 2021, I contributed to change ant design in to material design. then I contributed to codelabz Flutter mobile app with fully unbreaking architecture. there I used Domain driven design(DDD) pattern to implement it, and completed full authentication process, organization and profile. 32 | 33 | 34 | # What Covered 35 | - contribution to change ant design into material. 36 | - flutter app architecture 37 | - flutter app authentication process 38 | - flutter app home 39 | - flutter app organization 40 | - flutter app profile 41 | 42 | # What left 43 | - display profile 44 | - display organization 45 | - display tutorials 46 | - setting page 47 | 48 | # Reference 49 | - [Documentation | Flutter](https://flutter.dev/docs) 50 | - [Pub.dev](https://pub.dev) -------------------------------------------------------------------------------- /GSoC-2020/Sashika-Nawarathne-LabelLab-Updating-the-mobile-application.md: -------------------------------------------------------------------------------- 1 | # LabelLab - Updating the mobile application 2 | 3 | ## Student Info 4 | 5 | - Name - Sashika Nawarathne 6 | - Email - hi@sashika.me 7 | - GitHub Profile - [https://github.com/cazci](https://github.com/cazci) 8 | - LinkedIn - [https://www.linkedin.com/in/sashika-nawarathne](https://www.linkedin.com/in/sashika-nawarathne) 9 | - Medium - [https://medium.com/@cazci269](https://medium.com/@cazci269) 10 | 11 | ### Project Abstract 12 | 13 | Labellab is an image labeling and classification tool for researchers. Currently, the mobile app supports image uploading and labeling. The goal of this year GSoC period is to update the image labeling tool, and integrate the model training feature. 14 | 15 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5971187101859840) 16 | 17 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1O5n6OpGflQW3qKkxfwtSgPS_yYZVXVCd/view?usp=sharing) 18 | 19 | ### [GitHub Organization Repo](https://github.com/scorelab/LabelLab) 20 | 21 | ### [GitHub Personal Repo](https://github.com/cazci/LabelLab) 22 | 23 | ### [Commits during GSoC 2020](https://github.com/scorelab/LabelLab/commits?author=cazci) 24 | 25 | ### [Project Demo Video](https://drive.google.com/file/d/1MAYkxMkfxdY3EPKnS-cJhnf8eD4jJ-cw/view?usp=sharing) 26 | 27 | ### [GSoC Blog](https://medium.com/scorelab) 28 | 29 | ### Work Summary 30 | 31 | For GSoC 2020, I migrated the mobile app to the new flask backend and integrated new features. These features includes model training, image path tracking, versioning, admin features and image editing. Parallely, I implemented mobile app specific server handlers. I completed the coding period with project documentation and test updates. 32 | 33 | ### What Covered 34 | 35 | - Created the OpenAPI specification 36 | - Migrated the app to the new flask server 37 | - Implemented image path tracking feature 38 | - Updated multiple image uploading feature 39 | - Integrated image editing feature 40 | - Implemented project member management 41 | - Implemented model training feature 42 | - Updated image classification 43 | - Created server handlers 44 | - Implemented model versioning 45 | - Add widget tests 46 | - Updated the documentation 47 | 48 | ### What left 49 | 50 | - Tests have to be completed 51 | 52 | ### Reference 53 | 54 | - [Documentation | Flutter](https://flutter.dev/docs) 55 | - [Pub.dev](https://pub.dev) 56 | - [OpenAPI doc](https://swagger.io/specification) 57 | -------------------------------------------------------------------------------- /GSoC-2022/18-pikulk-OpenXDR-GSoC-2022.md: -------------------------------------------------------------------------------- 1 | # OpenXDR GSoC 2022 2 | 3 | ## Project Abstract 4 | Detection time and response time are the major critical accepts of all detection and response systems. Considering the vast amount of system logs collectors, network logs collectors and external IOC systems bring vast amounts of data to process within a short amount of time and uncover the anomalies. Although this process should not be flooded with false positive alerts which we identified as alert fatigue. Considering processing vast amounts of boundless stream data and doing a less false positive detection rate is a system engineering challenge that should stand side by side with cybersecurity expert knowledge. Building state of the art systems required several major components divisions. There are Data Sources (IDS, sys logs, net logs, firewall logs, files) , External intelligence (IOC, SIEM), Processing and detection unit(s) (batch or streaming processing, deployed ML/DL models) , Data storages (databases, flat files, object storages) and visualizations (index, dashboards). Recreating each of above divisions are equivalent to reinventing the wheel, therefore openXDR focuses intergaterabiltiy to work with available tools out there which leads users to use existing systems without hassle but with the power of detection and response time of openXDR. In general, it seamlessly integrates with any EDR, NDR, SIEM, or IDS through a modular integrated architecture. 5 | 6 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/programs/2022/projects/B7KUMyWw) 7 | 8 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1PJwZzdWDxqEuZg6WnjLX5uggoV-HDSkr/view?usp=drivesdk) 9 | 10 | ### [GitHub Organization Repo](https://github.com/scorelab/OpenXDR) 11 | 12 | ### [GitHub Personal Repo](https://github.com/piumalkulasekara/OpenXDR) 13 | 14 | ### [Commits during GSoC 2022](https://github.com/piumalkulasekara/OpenXDR/commits/node) 15 | 16 | ### [Project Demo Video](https://drive.google.com/file/d/1yG3OsZtywoqR5JWnnAvpp81tNCCuo7co/view?usp=drivesdk) 17 | 18 | ### [GSoC Blog](https://medium.com/scorelab/gsoc-2022-with-score-lab-2c0994907650) 19 | 20 | ## Work Summary And What Covered 21 | 22 | * Create few data collecting probes (EDR, NDR, ISD, SIEM one for each) 23 | * Create Flink stateful stream processing modules 24 | * Create a DB to retrieve processed historical data using mysql. 25 | 26 | ## What left 27 | * Create automatically setup scripts and create an interface to intergate with other datastores 28 | -------------------------------------------------------------------------------- /GSoC-2018/Malith_Senaweera-OpenSNA.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | OpenSNA 3 | 4 | ## Student Info 5 | * Name : Malith Senaweera 6 | * University : University of Colombo School of Computing, Sri Lanka. 7 | * Email : [malithsenaweera@gmail.com](mailto:malithsenaweera@gmail.com) 8 | * Github : [https://github.com/malithsen](https://github.com/malithsen) 9 | * Linkedin : [https://www.linkedin.com/in/malith-senaweera-697485b3](https://www.linkedin.com/in/malith-senaweera-697485b3) 10 | 11 | ### Project Abstract 12 | 13 | ### [GSoC Project Page](https://github.com/scorelab/opensna) 14 | 15 | ### [GSoC Project Proposal](https://storage.googleapis.com/summerofcode-prod.appspot.com/gsoc/core_project/doc/5959930809942016_1521988182_OpenSNA_Proposal.pdf?Expires=1534220344&GoogleAccessId=summerofcode-prod%40appspot.gserviceaccount.com&Signature=hsaZE1IrFEWRnuQFMmXYDv5UXYEOupRRjFzSoPo7Zc%2BVDcrjjCRNVSkDQY8LXzCbvmmRDc9IPfRZ0laJmIL%2BxTKraUBedE4OqHNapjxyp8ucPYGYi2YQGYXiQo5C0B4PN6bDKBZKt2wlPOatQV5zhcuNZoUv3H3J%2FgDgUIucdsTBGJvQ8KjQqissKT60sj2KAceuT5ssPp%2BlAOwtpn8FBW%2BlU8Mv%2FsfmK1eoGMhuphC%2B2GAPXaAPozxwu0WtzoEDjUZyBqZP7TYWuXISDQhXzQOFkfjFKcZ%2FlIhlrkPKR9MlS5HSJyVhhDEVAW4qKQbbJXuAJQenHR63H5BlScp%2BNg%3D%3D) 16 | 17 | ### [GitHub Organization Repo](https://github.com/scorelab/opensna) 18 | 19 | ### [GitHub Personal Repo](https://github.com/malithsen/opensna) 20 | 21 | ### [Commits during GSoC 2017](https://github.com/scorelab/OpenSNA/commits?author=malithsen) 22 | 23 | ### Work Summary 24 | Implemented a python toolkit from scratch to analyze social network data. This toolkit is capable of doing basic analysis of social network when given as a csv file. Further it is built with extendability in mind, and capable in easily integrating plugins to enhance its capabilities. As a PoC link prediction module has been integrated 25 | 26 | ### What Is Covered 27 | * Reading edge list of social media interactions as a csv 28 | * Read directed and undirected graphs 29 | * Integrate networkx for basic graph analysis 30 | * Link prediction module to predict links in a graph file via machine learning 31 | * Accompanying jupyter notebooks to explain the code 32 | * Adhere to pep8 33 | * Documentation 34 | 35 | ### What left 36 | * Visualizations 37 | * Implementation of filters to reduce data 38 | * More plugins 39 | 40 | ### Reference 41 | * [Snap](http://snap.stanford.edu/) 42 | * [NetworkX](https://networkx.github.io/) 43 | * [PEP8](https://www.python.org/dev/peps/pep-0008/) 44 | * [Gephi](https://gephi.org/) 45 | -------------------------------------------------------------------------------- /GSoC-2020/Asitha-Indrajith-Community-Dictionary.md: -------------------------------------------------------------------------------- 1 | # Community Dictionary 2 | 3 | ## Student Info 4 | 5 | * Name - Asitha Indrajith 6 | * Email - asithaindrajithk9@gmail.com 7 | * GitHub Profile - AsithaIndrajith 8 | * Medium - https://medium.com/@asithaindrajithk9 9 | * Twitter - 10 | 11 | ### Project Abstract 12 | Community Dictionary (ComDict) is a crowdsourced online dictionary for multiple languages. Each head term in the dictionary is defined only in English and has meaning in multiple languages. Generally, each meaning contains examples, definitions, and likes count. Reactjs, redux, ant design, ElasticSearch/Algolia and Firebase/Firestore will be used to develop the system. 13 | 14 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4583207351091200) 15 | 16 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1RGADWgPIi_TXoSmAa-OH4SsziPY8Btf7/view?usp=sharing) 17 | 18 | ### [GitHub Organization Repo](https://github.com/scorelab/com-dictionary) 19 | 20 | ### [GitHub Personal Repo](https://github.com/AsithaIndrajith/com-dictionary) 21 | 22 | ### [Commits during GSoC 2020](https://github.com/scorelab/com-dictionary/commits?author=AsithaIndrajith) 23 | 24 | ### [Project Demo Video](https://drive.google.com/file/d/10UryK6zbm7EIxeJmQqgkI0TmIekRimC7/view?usp=sharing) 25 | 26 | ### [GSoC Blog](https://medium.com/@asithaindrajithk9/gsoc-memories-c7eb39675e34) 27 | 28 | ### Work Summary 29 | Implement online multilingual dictionary as a web application. The application has two user levels, one for the guest users and the other one for the normal users. A database which is designing and implementing using Google Firebase realtime database. Anonymous/guest users have read but not write permissions. Authenticated users can write a new word meanings, comment, like, share and report. User authentication will be done through the Firebase authentication with social authentication. A text-based word searching mechanism implement using the Algolia search engine. 30 | 31 | ### What Covered 32 | * Designed a secure and structured database. 33 | * Developed a secure authentication system. 34 | * Adding, Commenting, liking, sharing and reporting word meanings. 35 | 36 | ### What left 37 | * Full-text search with ElasticSearch or Algolia 38 | * Pagination in some pages 39 | 40 | ### Reference 41 | 1. [React](https://reactjs.org/) 42 | 2. [Redux](https://redux.js.org/) 43 | 3. [react-redux-firebase](https://react-redux-firebase.com/) 44 | 4. [Live Demo](https://community-dictionary-dev.web.app/) 45 | -------------------------------------------------------------------------------- /GSoC-2019/Tharaka-Romesh-NodeCloud.md: -------------------------------------------------------------------------------- 1 | # NodeCloud 2 | 3 | ## Student Info 4 | 5 | * Name - Tharaka Romesh Hewavitharana 6 | * Email - tharakaromesh@gmail.com 7 | * GitHub profile - https://github.com/TRomesh 8 | * Twitter - [@DTRomesh](https://twitter.com/DTRomesh) 9 | 10 | ### Project Abstract 11 | 12 | NodeCloud is a standard library to get a single API on the open cloud with multiple providers. Making open cloud easily accessible and managed. The proposed system would be improving the existing feature as well as adding new features and cloud providers. 13 | 14 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5556288790986752) 15 | 16 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1ForylQD_kBKUZQbO458xy91bT_LxoE1Z9GmCuz1SufY) 17 | 18 | ### [GitHub Organization Repo](https://github.com/cloudlibz/nodecloud-cli) 19 | 20 | ### [GitHub Personal Repo](https://github.com/TRomesh/nodecloud-cli) 21 | 22 | ### [Commits during GSoC 2019](https://github.com/cloudlibz/nodecloud-cli/commits/master?author=TRomesh) 23 | 24 | ### [Project Demo Video](https://www.youtube.com/watch?v=A8UAJluShPE) 25 | 26 | ### [GSoC Blog](https://medium.com/nodecloud) 27 | 28 | ### Work Summary 29 | 30 | For GSoC 2019 I've initiated the project nodecloud-cli from scratch and added support for AWS and Google cloud platform and Azure. 31 | 32 | nodeloud-cli support following services, 33 | - Compute 34 | - Identity Management 35 | - Network 36 | - Storage 37 | 38 | Along with development of CLI, I added documentation and unit tests in every week. 39 | Created tutorials. 40 | 41 | 42 | ### What Covered 43 | 44 | - Developed the CLI for compute, identity manamgement, network and storage services. 45 | 46 | 1. AWS 47 | - EC2 48 | - ECS 49 | - DynamoDB 50 | - RDs 51 | - S3 52 | - ELB 53 | 2. GCP 54 | - Compute 55 | - Datastore 56 | - Google Cloud DNS 57 | - Google Cloud Storage 58 | 59 | 3. Azure 60 | - Virtual Machine 61 | 62 | 63 | - Added unit tests for developed cli. 64 | - Added documentation for developed cli. 65 | - Created nodecloud-cli getting started tutorial. 66 | 67 | ### What left 68 | 69 | - Adding Pretty or beautify option for the cli. 70 | - Potential to add more cloud providers like Digital ocean, Ali cloud. 71 | 72 | ### Reference 73 | 74 | - [AWS and Google Cloud platform comparison](https://cloud.google.com/docs/compare/aws/) 75 | - [AWS JS SDK Documentation](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS.html) 76 | - [Google Cloud platform Documentation](https://googlecloudplatform.github.io/google-cloud-node/) -------------------------------------------------------------------------------- /GSoC-2020/Lakshyajeet-Dwivedee-Integrate-ML-module-for-LabelLab.md: -------------------------------------------------------------------------------- 1 | # Integrate ML module for LabelLab 2 | 3 | ## Student Info 4 | 5 | * Name - Lakshyajeet Dwivedee 6 | * Email - lakshyajeet22@gmail.com 7 | * GitHub Profile - https://github.com/laksh22 8 | * Medium - https://medium.com/@laksh22 9 | * Twitter - N/A 10 | 11 | ### Project Abstract 12 | LabelLab allows the user to upload images and label them using bounding boxes and polygons. Currently, there is no way for the user to build models using the labelled dataset which they have created. The goal of the project is to create a pipeline which allows the users to train classification models using the images which have been uploaded and labelled on LabelLab. 13 | 14 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6461961740484608) 15 | 16 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1AYSI_DJW0vCTyZJDI2K1D52CqQx2I2tbN3qMI2FLfDc/edit?usp=sharing) 17 | 18 | ### [GitHub Organization Repo](https://github.com/scorelab/LabelLab) 19 | 20 | ### [GitHub Personal Repo](https://github.com/laksh22/LabelLab) 21 | 22 | ### [Commits during GSoC 2020](https://github.com/scorelab/LabelLab/commits?author=laksh22) 23 | 24 | ### [Project Demo Video](https://drive.google.com/file/d/1aDg-hLbYx82OHQ9Jo8Da4S6jmpAsLQ_0/view?usp=sharing) 25 | 26 | ### [GSoC Blog](https://medium.com/@laksh22/gsoc-2020-weekly-summaries-1ffd22617051) 27 | 28 | ### Work Summary 29 | For GSoC 2020, I worked on adding a machine learning module to the LabelLab image annotation tool. This involved creating the client and server code for a dashboard which allows the user to create classification models. This dashboard also allows the user to train these models using the images which they have labelled using LabelLab. The user can then test the models and export them as well. For managing several models, a model management dashboard is also created through which the user can add, edit, or delete models. 30 | 31 | ### What Covered 32 | 1. Model management dashboard for adding, editing, deleting models 33 | 2. Sub-module for choosing labels to train on 34 | 3. Sub-module for choose image augmentation steps 35 | 4. Sub-module for training custom model 36 | 5. Sub-module for transfer learning 37 | 6. Sub-module for training an uploaded model 38 | 7. Sub-module for showing training accuracy and loss 39 | 8. Sub-module for testing a trained model 40 | 9. Sub-module for exporting a trained model in SavedModel, h5, and ONNX format 41 | 42 | ### What left 43 | 1. Adding tests 44 | 45 | ### Reference 46 | 1. [Tensorflow Keras API](https://www.tensorflow.org/api_docs/python/tf/keras) -------------------------------------------------------------------------------- /GSoC-2017/Lasith_Niroshan_Implementing_An_Android_Application_For_Controlling_Drones.md: -------------------------------------------------------------------------------- 1 | ### Project Name 2 | Implementing an Android application for controlling Drones (DronePilot) 3 | ## Student Info 4 | Name : Lasith Niroshan 5 | E-mail : lasith2013.l2n@gmail.com 6 | University : University of Colombo School of Computing 7 | Course: Computer Science 8 | Year : 4th ( 4 year degree ) 9 | Linkedin : [https://www.linkedin.com/in/lasithniro/](https://www.linkedin.com/in/lasithniro/) 10 | Github : [https://www.github.com/Lasith-Niro](https://www.github.com/Lasith-Niro) 11 | ### Project Abstract 12 | This is a project that is intended to support Public Health Inspector (PHI) to find and investigate “Dengue(mosquito) breeding sites in a given location.” Breeding of mosquitoes is becoming a severe issue in Sri Lanka and it is difficult to investigate the breeding places in urban areas mainly due to the height of the buildings. Currently PHI’s are investigating such locations by themselves where possible. 13 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/dashboard/project/4635528409382912/overview/) 14 | ### [GSoC Project Proposal](https://drive.google.com/open?id=0B4ICNAgNS8XcR3hBTGNnQ0R3MnM) 15 | ### [GitHub Organization Repo](https://github.com/scorelab/D4D---Drone-4-Dengue) 16 | ### [GitHub Personal Repo](https://github.com/Lasith-Niro/D4D---Drone-4-Dengue/) 17 | ### [Commits during GSoC 2017](https://github.com/scorelab/D4D---Drone-4-Dengue/commits/master?author=Lasith-Niro) 18 | ### [Project Demo Video](http://LinkToDemoVideo) 19 | 20 | ### [Project Wiki](https://github.com/scorelab/D4D---Drone-4-Dengue/wiki) 21 | 22 | ### [GSoC Blog](http://GSoCBlog) 23 | 24 | ### Work Summary 25 | D4D is about investigating dengue using drones. It contains both android application and web application. The android application is used to fly the drone and get data from it. The web application is used to mark the map and get data from the android app. 26 | ### What Covered 27 | * Implemented login for android application with firebase 28 | * Implemented registration for android application with firebase 29 | * Intregrated drone SDK with android app 30 | * Implemented image store with firebase storage. 31 | * Implemented image capturing function for androd app 32 | * Implemented image uploding function for web app 33 | * Implemented web application functions 34 | ### What left 35 | * Need to implement connection function for drone and android app 36 | * Need to implement classifiers on web application 37 | ### Reference 38 | [1] https://developer.dji.com/mobile-sdk/documentation/introduction/index.html 39 | [2] https://github.com/DJI-Mobile-SDK-Tutorials/Android-GSDemo-GoogleMap -------------------------------------------------------------------------------- /GSoC-2017/Pasan_Gamaetige_Stackle.md: -------------------------------------------------------------------------------- 1 | # Stackle 2 | 3 | ## Student Info 4 | * Name : Pasan Missaka 5 | * Email : psn.missaka@gmail.com 6 | * GitHub Profile : https://github.com/psnmissaka 7 | * Country : Sri Lanka 8 | * University : University of Colombo School of Computing 9 | 10 | 11 | ### Project Abstract 12 | Stackle is an web communication portal aimed at providing Open Source organizations a platform to have discussions on their github projects and their issues. It provides Github intergration which allows adminstrator of an organization to create a forum thread for the particualr organization. Users signing in is able to view forums of the organizations they contribute to and engage in the forum discussions. 13 | 14 | ### [GSoC Project Page](http://LinikToYourGSoCProjectPage) 15 | 16 | ### [GSoC Project Proposal](https://goo.gl/QxGMjp) 17 | 18 | ### [GitHub Organization Repo](https://github.com/scorelab/Stackle) 19 | 20 | ### [GitHub Personal Repo](https://github.com/psnmissaka/Stackle) 21 | 22 | ### [Commits during GSoC 2017](https://github.com/scorelab/stackle/commits/master?author=psnmissaka) 23 | 24 | ### [Project Demo Video](http://LinkToDemoVideo) 25 | 26 | ### [Project Wiki](https://github.com/psnmissaka/Stackle/wiki) 27 | 28 | ### [GSoC Blog](http://GSoCBlog) 29 | 30 | ### Work Summary 31 | Stackle was built from the ground up as a project for Google Summer of Code 2017. 32 | 33 | I started with developing the back-end API which is consumed by the Stackle front-end. NodeJS is used to handle the back-end logic 34 | with the use of Express framework. The API is mostly used to store data and retrieve data from the MongoDB server. 35 | The front-end logic is developed using AngularJS. Front-end is designed to communicate with Stackle API and GitHub API to carry the business logic of the application. 36 | 37 | ### What Covered 38 | 39 | * The authentication and authorization of users through Auth0 for GitHub users. 40 | * Back-end API calls to get and store the data to the MongoDB (using mongoose) 41 | * Front-end logic to subscribe to organizations, create posts regarding issues, search for organizations, creating a stack instance for a organization, display posts (by organization, by user), comment on posts and voting posts and comments. 42 | 43 | 44 | ### What left 45 | 46 | * Notification handling mechanism 47 | * Enable Gitlab login 48 | * Sharing posts to social media 49 | 50 | ### Reference 51 | 52 | 1. [MongooseJS Documentation](http://mongoosejs.com/docs/guide.html) 53 | 2. [Routing with ExpressJS](http://expressjs.com/en/guide/routing.html) 54 | 3. [AngularJS](https://docs.angularjs.org/guide) 55 | 4. [GitHub API Documentation](https://developer.github.com/v3/) 56 | 57 | -------------------------------------------------------------------------------- /GSoC-2019/Wolf-Legend-Androphsy(OpenMF).md: -------------------------------------------------------------------------------- 1 | # OpenMF - Redesign Androphsy(OpenMF) backend in Python 2 | 3 | ## Student Info 4 | - Name - Harish Ghunawat 5 | - Email - harish.ghunawat1@gmail.com 6 | - University - IIT Roorkee 7 | - Github Profile - [Wolf-Legend](https://github.com/wolf-legend) 8 | ### Project Abstract 9 | OpenMF is an Android forensic tool, developed in Python. OpenMF consists following features 10 | - Common Databases extraction 11 | - Data conversion tools (ex. db to csv) 12 | - Session records (handling multiple cases/projects) 13 | - Generating report of projects 14 | - Created light-weigth CLI for easily using these features 15 | 16 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5283093169045504) 17 | 18 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1KboOKdS9sBDcb8hceNKlclwB_QnAaOPFGVQHUC9cyg4/edit) 19 | 20 | ### [GitHub Organization Repo](https://github.com/scorelab) 21 | 22 | ### [GitHub Personal Repo](https://github.com/scorelab/OpenMF) 23 | 24 | ### [Commits during GSoC 2019](https://github.com/scorelab/OpenMF/commits?author=Wolf-Legend) 25 | 26 | ### [Project Demo Video](https://drive.google.com/open?id=1QALmBtviYctsFUktlHkdp_zHkuT48aFd) 27 | 28 | ### [Project Wiki](https://github.com/scorelab/OpenMF/wiki) 29 | 30 | ### Work Summary 31 | - Made project Cross-platform compatible 32 | - Make a basic python backend to access and acquire data 33 | from android and providing super-user access to user i.e. 34 | rooting the android device if it’s not already rooted 35 | - Added multi-user and multi-case support for the this basic 36 | backend 37 | - Report generation in generic html, txt and PDF reports formats at 38 | the end 39 | - Added support for sqlite for the database management of both user,case 40 | and for extraction and analysis of databases acquired from 41 | android 42 | - Created light-weight CLI for using these features 43 | - Written module for generation of basic report in neat 44 | templates 45 | - Tested the fully working python backend based 46 | Androphsy(OpenMF) 47 | ### What Covered 48 | 1. Basic Android forensic tool ready for use 49 | 2. Added multiple features required for handling data extraction and manipulation 50 | 3. Create module for report generation for particular case 51 | 4. Developed light-weight CLI for supporting these features in just one command 52 | 53 | ### What left 54 | 1. Implementing Web-view of this project (WIP) 55 | 2. Writing down blogs about how to use this project effectively 56 | 3. Adding support for database analysis algorithms 57 | 58 | ### Reference 59 | 1. “scorelab/ANDROPHSY”-https://github.com/scorelab/androphsy 60 | 2. Python 61 | 3. [pdfkit](https://github.com/JazzCore/python-pdfkit) 62 | 4. SQLite 63 | 5. ADB 64 | -------------------------------------------------------------------------------- /GSoC-2022/17-Upalanka-K-OpenXDR-Real-time-Open-Source-Extended-Detection-and-Response-System.md: -------------------------------------------------------------------------------- 1 | # OpenXDR 2 | 3 | Real-time Open Source Extended Detection and Response System 4 | 5 | # Project Abstract 6 | 7 | OpenXDR is a real-time open source extended detection and response system. The extensibility of OpenXDR allows integration with existing detection systems. Hence, it can seamlessly integrate with various information security systems such as Endpoint detection and response (EDR) systems, Network Detection and Response (NDR) systems, Security information and event management (SIEM) systems, and Intrusion Detection Systems (IDS). 8 | 9 | ## [GSoC Project Page](https://summerofcode.withgoogle.com/programs/2022/projects/eW0iWrUd) 10 | 11 | ## [GSoC Project Proposal](https://drive.google.com/file/d/1KFvrdTrdvQJDWyhzFelsEaetnuzAjlPP/view?usp=sharing) 12 | 13 | ## [GitHub Organization Repo](https://github.com/scorelab/OpenXDR) 14 | 15 | ## [GitHub Personal Repo](https://github.com/UsefulAd1242/OpenXDR) 16 | 17 | ## [Commits during GSoC 2022](https://github.com/scorelab/OpenXDR/pulls?q=is%3Apr+author%3AUsefulAd1242) 18 | 19 | ## [Project Demo Video](https://drive.google.com/file/d/17lhtp4XyRmMW_jhqpySY1absgrqukbbo/view?usp=sharing) 20 | 21 | ## [Project Wiki](https://github.com/scorelab/OpenXDR/wiki) 22 | 23 | # Work Summary 24 | 25 | For the GSoC 2022, I've initiated the console implementation of the OpenXDR project from scratch and implemented the required functionality using proposed technologies. This required collaboratively implementing core modules of OpenXDR console that is vital for a minimal viable product. I have successfully initiated the project, engineered the user inferface and implemented core functionaly the the OpenXDR dash board to manage schemas, manage nodes and resource monitioring. Project work is carried out by following industry and open source standards. 26 | 27 | # What Covered 28 | 29 | * Designed OpenXDR dashboard and console UI flow and wireframes 30 | * Initialized React project and configured dependencies 31 | * Designed and implemented resource management(create, edit, delete) features 32 | * Designed and implemented front end user interfaces for log mangagement and monitoring functionality 33 | * Designed and implemented project overview inferface by compiling required information 34 | * Collaboratively designed OpenXDR server API 35 | * Integrated OpenXDR dashboard with backend services following OpenAPI standards 36 | 37 | # What left 38 | 39 | * Mobile device support for the implemented OpenXDR console 40 | 41 | # References 42 | 43 | - [React Documentation](https://reactjs.org/) 44 | - [Material UI Documentation](https://mui.com/) 45 | - [OpenAPI Sepcification](https://swagger.io/specification/) -------------------------------------------------------------------------------- /GSoC-2018/Kavinda_Jayakody-OpenDF_Frontend_ReactJS.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | OpenDF - Implement the frontend using ReactJS 4 | 5 | ## Student Info 6 | 7 | - Name - Kavinda Jayakody 8 | - E-mail - kavindajayakody@gmail.com 9 | - GitHub - github.com/kavinda1995 10 | 11 | 12 | ### Project Abstract 13 | 14 | OpenDF is a Open Source tool, which can be used for digital forensics investigations to make better by bringing related digital forensics processes such as managing investigation cases, managing and assigning investigators to investigations, storing and managing disk images, extracting data from disk images, note taking and reporting.into one solution. 15 | 16 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6747222734012416) 17 | 18 | ### [GSoC Project Proposal](https://storage.googleapis.com/summerofcode-prod.appspot.com/gsoc/core_project/doc/6493756178563072_1522166266_GSoC_2018_Project_Proposal_-_Kavinda_Niroshana_Jayakody.pdf?Expires=1534262906&GoogleAccessId=summerofcode-prod%40appspot.gserviceaccount.com&Signature=NXESYTJlx1Z9snPw6txs2mDNHLyOMmL6e%2FF6jIuVyd4V1ovMaS2tDL8aZmDRFuSE9i0Qyj%2BFjWm9UBgF0Cvf1HErIK1FHjN6ui%2Bo6LxJbwbyC9QTo9ukH3xTOu%2BSS3IU7zWkg5htr6lj66W26NnnOyIE%2F7ddp%2FOqxhn4Q2fGIUDgXqk6b0COxDllPPOHVyBY4pkmKbcsrIQ%2FgsIc%2FjRIJrFn51b8pAjIN2agmwtZGPDdK2Xsx8%2FzAeZ20S1MK5u%2FI%2Bj1Vc%2FLfPQrsUavPlOY1HaxPjCmneQigUuUt8ajDRyz6JKsWrAMcK4v8DCTj8XJ6%2FNy2Rg%2BcUUtKzV2kNLbUQ%3D%3D) 19 | 20 | ### [GitHub Organization Repo](https://github.com/scorelab/OpenDF) 21 | 22 | ### [GitHub Personal Repo](https://github.com/kavinda1995/OpenDF/tree/react-ui) 23 | 24 | ### [Commits during GSoC 2017](https://github.com/scorelab/OpenDF/commits/react-ui?author=kavinda1995) 25 | 26 | ### [Project Wiki](https://github.com/scorelab/OpenDF/wiki) 27 | 28 | ### Work Summary 29 | 30 | Continuing the existing code base for the react-ui and adding more components and functions. 31 | 32 | ### What Covered 33 | 34 | - Configured the Add New Project Form 35 | - Implemented a JSON RESTful server 36 | - Implemented saving a project to the JSON storage 37 | - Implemented File Upload Component 38 | - Implemented the View Project UI 39 | - Configured API calls for view a project 40 | - Implemented a toast service and component for the whole project 41 | - Refactoring the code base 42 | 43 | 44 | ### What left 45 | 46 | - Connect J2EE based API to the Add Project and File Upload 47 | - Implementing a auth service for the login 48 | 49 | 50 | ### Reference 51 | 52 | [1] [React Boiler Plate](https://github.com/react-boilerplate/react-boilerplate) 53 | 54 | [2] [Material UI](https://material-ui.com/) 55 | 56 | [3] [OpenDF Wiki](https://github.com/scorelab/OpenDF/wiki) 57 | 58 | [4] [JSON-Server](https://github.com/typicode/json-server) 59 | -------------------------------------------------------------------------------- /GSoC-2017/Rajika_AbeyrathneNode_Cloud_Unified_API_For_Cloud_Providers.md: -------------------------------------------------------------------------------- 1 | # NodeCloud 2 | 3 | ## Student Info 4 | 5 | * Name - Rajika Imal Abeyrathne 6 | * Email - inbox.rajika@gmail.com 7 | * GitHub profile - https://github.com/rajikaimal 8 | * Twitter - @rajikaimal 9 | 10 | ### Project Abstract 11 | 12 | NodeCloud is an easy to use abstract API which will remove the burden of switching in between many libraries to use cloud related APIs. NodeCloud is a Node.js library which will integrate Google Cloud and AWS services under one hood. Even though the scope of the project is limited to Google Cloud and AWS, according to the flexible, plug-gable architecture it will be convenient to add more cloud providers in the future of this project. 13 | 14 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4601985251672064) 15 | 16 | ### [GSoC Project Proposal](https://drive.google.com/open?id=1_Tb42b9MjgEZcMxUkKvznn_QxCGuJnr--jts9pTi0fw) 17 | 18 | ### [GitHub Organization Repo](https://github.com/scorelab/nodecloud) 19 | 20 | ### [GitHub Personal Repo](https://github.com/rajikaimal/nodecloud) 21 | 22 | ### [Commits during GSoC 2017](https://github.com/scorelab/nodecloud/commits/master?author=rajikaimal) 23 | 24 | ### [Project Demo Video](https://www.youtube.com/playlist?list=PLOIyWoYcO107EfXZBqNUn49LjtodWLNbL) 25 | 26 | ### [Project Wiki](https://github.com/rajikaimal/nodecloud/wiki) 27 | 28 | ### [GSoC Blog](https://medium.com/nodecloud) 29 | 30 | ### Work Summary 31 | 32 | For GSoC 2017 I've initiated the project from scratch and added support for AWS and Google cloud platform (GCP). 33 | 34 | Support for following services were added, 35 | - Compute 36 | - Database 37 | - Network 38 | - Storage 39 | 40 | Along with development of APIs, I added documentation and unit tests in every week. 41 | Created tutorial series. 42 | 43 | ### What Covered 44 | 45 | - Developed APIs for compute, database, network and storage services. 46 | 47 | 1. AWS 48 | - EC2 49 | - ECS 50 | - DynamoDB 51 | - RDs 52 | - S3 53 | - ELB 54 | - EBS 55 | 2. GCP 56 | - Compute 57 | - Datastore 58 | - Google Cloud DNS 59 | - Google Cloud Storage 60 | - Google Persistent Disks 61 | 62 | - Added unit tests for developed APIs. 63 | - Added documentation for developed APIs. 64 | - Created NodeCloud getting started tutorial series. 65 | 66 | ### What left 67 | 68 | - Additional APIs can be added as improvements in next versions. 69 | - Potential to add more cloud providers. 70 | 71 | ### Reference 72 | 73 | - [AWS and Google Cloud platform comparison](https://cloud.google.com/docs/compare/aws/) 74 | - [AWS JS SDK Documentation](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS.html) 75 | - [Google Cloud platform Documentation](https://googlecloudplatform.github.io/google-cloud-node/) -------------------------------------------------------------------------------- /GSoC-2018/Shivam_Arora-Stackle_routes.md: -------------------------------------------------------------------------------- 1 | # STACKLE-Structure Routes 2 | 3 | ## Student Info 4 | * NAME - SHIVAM ARORA 5 | * EMAIL - shivamarora0902@gmail.com || shivam_arora@live.in 6 | * GITHUB PROFILE - https://github.com/shivamarora96 7 | * LINKEDIN PROFILE - https://www.linkedin.com/in/shivamarora96/ 8 | 9 | ### Project Abstract 10 | 11 | Stackle is a web communication portal aimed at providing Open Source organizations a platform to have discussions on their GitHub projects and their issues. It provides GitHub integration which allows the administrator of an organization to create a forum thread for the particular organization. Users signing in are able to view forums of the organizations they contribute to and engage in the forum discussions. 12 | 13 | 14 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6404076187680768) 15 | 16 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1U555NSbdzpjzd0PUouuiwLCP0hhKX_3j/view?usp=sharing) 17 | 18 | ### [GitHub Organization Repo](https://github.com/scorelab/Stackle) 19 | 20 | ### [GitHub Personal Repo](https://github.com/shivamarora96/stackle) 21 | 22 | ### [Commits during GSoC 2018](https://github.com/scorelab/Stackle/commits?author=shivamarora96) 23 | 24 | ### [Project Wiki](https://github.com/scorelab/Stackle/wiki) 25 | 26 | ### Work Summary 27 | 28 | During GSOC-2018, Structuring of routes has been implemented. Along With this, additional endpoints and functionalities have been added to the stackle application such as Post like, tag adding to posts, oAuth 2.0 github authentication, etc. Beside these implementations, testing of the application has also been carried out so as to make sure that the application would produce the desired responses. 29 | 30 | ### What Covered 31 | 32 | * Structuring of REST-APIs 33 | * Implemented Post like, dislike ; comments like, dislike functionalities 34 | * Added OAuth 2.0 Github Authentication to the Application. 35 | * Proper validation of every request and response. 36 | * Improved directory structure of the application. 37 | * Added additional endpoints for various functionalities. 38 | * Improving Code quality and readibility. 39 | * Enhance the structure of the APIs. 40 | * Proper Schema designing of the Models. 41 | * Implemented Comment and Reply Model from scratch. 42 | * Populating and connecting the relational Models and their respective REST-APIs JSON-data. 43 | * Testing of the API calls. 44 | * Beautify the code to improve readability. 45 | 46 | 47 | ### What left 48 | * Additional APIs can be added as improvements 49 | * Documentation 50 | 51 | ### Reference 52 | * [ExpressJS] (https://expressjs.com/en/4x/api.html) 53 | * [Mongoose] (http://mongoosejs.com/docs/guide.html) 54 | * [ES6] (http://es6-features.org/#Constants) 55 | * [NodeJS] (https://nodejs.org/en/docs/) 56 | -------------------------------------------------------------------------------- /GSoC-2019/Amrita-Chaturvedi-NodeCloud.md: -------------------------------------------------------------------------------- 1 | # nodecloud-web 2 | 3 | ## Student Info 4 | * Name - Amrita Chaturvedi 5 | * Email - amritachaturvedi97@gmail.com 6 | * GitHub profile - https://github.com/amrita019 7 | * LinkedIn profile - https://www.linkedin.com/in/amritachaturvedi/ 8 | 9 | ### Project Abstract 10 | NodeCloud is a standard library to get a single API on the open cloud with multiple providers. Making open cloud easily accessible and managed. The project aims to provides an interactive front end, where the user can access the capabilities of the SDK in a more convenient manner. It is containerized using docker. 11 | 12 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/organizations/6311825751146496/?sp-page=3#5550327141498880) 13 | 14 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1AKE_maXt8oUFeeu9kc5rsaMDL1u_NKeX/view?usp=sharing) 15 | 16 | ### [GitHub Organization Repo](https://github.com/cloudlibz/nodecloud-web) 17 | 18 | ### [GitHub Personal Repo](https://github.com/amrita019/nodecloud-web) 19 | 20 | ### [Commits during GSoC 2019](https://github.com/cloudlibz/nodecloud-web/commits/master?author=amrita019) 21 | 22 | ### [Project Demo Video](https://youtu.be/pvWIgoqe4YY) 23 | 24 | ### [Project Wiki](https://github.com/cloudlibz/nodecloud-web/wiki) 25 | 26 | ### [GSoC Blog](https://medium.com/my-gsoc-diary-with-score-lab) 27 | 28 | ### Work Summary 29 | Developed a full-stack application for nodecloud. The server-end implemented in nodejs with express, was responsible for interacting with the database (using knexjs as SQL query builder), the nodecloud core sdk and it's plugins, namely nodecloud-azure-plugin, nodecloud-aws-plugin and nodecloud-gcp-plugin. The client-end implemented in react using redux, provided a user interactive dashboard. 30 | 31 | ### What Covered 32 | * Create local database and server to which the front-end will corrospond to. 33 | * Create UI Mockups 34 | * Create authentication module, consisting of Login and Signup options. 35 | * User authentication done through jsonwebtoken (jwt) 36 | * Create dashboard on frontend with functional Navbar, Sidebar and landing screen. 37 | * List down the currently running azure services 38 | * Add option to create Virtual Machine, Virtual Network, Database, Storage and Security 39 | * Add an option to delete running services 40 | * Write API documentation and project setup documentation 41 | * Write unit tests for different functions 42 | 43 | ### What left 44 | Component testing on client end 45 | 46 | ### After the GSoC 47 | I would like to take care of nodecloud-web repository and would continue to commit. 48 | 49 | ### Reference 50 | * [React JS](https://reactjs.org) 51 | * [Redux](https://redux.js.org) 52 | * [Node JS](https://nodejs.org/en/) 53 | * [Express JS](https://expressjs.com) 54 | * [Knex JS](http://knexjs.org/) 55 | -------------------------------------------------------------------------------- /GSoC-2019/Dilina-Dehigama-DroneSym.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | DroneSym 3 | 4 | ## Student Info 5 | * Name : Dilina Dehigama 6 | * Email : [nisalya@gmail.com](mailto:nisalya@gmail.com) 7 | * Github : [https://github.com/dilinade](https://github.com/dilinade) 8 | * Linkedin : [https://www.linkedin.com/in/dililime](https://www.linkedin.com/in/dililime) 9 | * Institute : University of Colombo School of Computing, Sri Lanka. 10 | 11 | ### Project Abstract 12 | DroneSym is a web-based platform which focuses on controlling drone fleets realtime. Users will have the functionality to add new drones, configure their flight paths and monitor their progress through a web dashboard. 13 | 14 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5676994551873536) 15 | 16 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1waLe_IAlFlILBxYfvEgsPhEoLxCjYdVCMbMSWg_DbxM/edit?usp=sharing) 17 | 18 | ### [GitHub Organization Repo](https://github.com/scorelab/DroneSym) 19 | 20 | ### [GitHub Personal Repo](https://github.com/dilinade/DroneSym) 21 | 22 | ### [Commits during GSoC 2019](https://github.com/scorelab/DroneSym/commits?author=dilinade) 23 | 24 | ### [Project Demo Video](https://youtu.be/LpLTJS8BuG4) 25 | 26 | ### [Project Wiki](https://github.com/dilinade/DroneSym/wiki) 27 | 28 | ### Work Summary 29 | For GSoC 2019, I mainly focused on database migration from Firebase. Migrated all functions to MongoDB ChangeStreams which provides the realtime capability and tested with proper test-cases. As per the next phase I did fix existed bugs with both the Python & NodeJS back-end, Identified major vulnerabilities of the system and made it to a deployable output by dockerizing the project while making the project a Progressive Web Application (PWA). Finally documented the project which matches to the current status of the project. 30 | 31 | ### What Covered 32 | 33 | Things which I have covered in GSoC 2019 34 | 35 | - Research on FOSS realtime databases giving considerations to performance and licence 36 | - Migration of database from Firebase 37 | - Test newly migrated database with test cases 38 | - Identify , fix active issues/potential bugs & vulnerabilities of the project 39 | - Producing a deployable output 40 | - Dockerize the project. 41 | - Make DroneSym a Progressive Web Application (PWA) 42 | - Write documentation 43 | 44 | ### What left 45 | 46 | - UI/UX Improvements 47 | - Release & Deployment of DroneSym 48 | 49 | 50 | ### Reference 51 | 1. [Official MongoDB Manual](https://docs.mongodb.com/manual/) 52 | 2. [Python Documentation](https://docs.python.org/3/) 53 | 3. [Python language implementation of DroneKit](https://github.com/dronekit/dronekit-python) 54 | 4. [Gatsby Documentation](https://gatsbyjs.org/docs/quick-start/) 55 | 5. [Official Docker Documentation](https://docs.docker.com/) 56 | -------------------------------------------------------------------------------- /GSoC-2017/Pasan_Ranathunga_Rewriting_OpenDF_Frontend_Using_React.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | Rewriting OpenDF frontend using React 4 | 5 | ## Student Info 6 | 7 | - Name - Pasan Ranathunga 8 | - E-mail - pmartz92@gmail.com 9 | - GitHub - github.com/PMArtz92 10 | 11 | ### Project Abstract 12 | 13 | Most digital forensics tools are just command line tools. These kind of command line tools are not user friendly and have a huge learning curves. OpenDF is cloud based digital forensics tool to make cyber crime investigation more efficient and effective. OpenDF is an effort to build an Open Source tool to help Digital Forensics Investigations by bringing all the related processes in digital forensics into one complete solution. For instance, Managing investigation cases, managing and assigning investigators to investigations, storing and managing disk images, extracting data from disk images, note taking and reporting. 14 | 15 | 16 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4518119103004672) 17 | 18 | ### [GSoC Project Proposal](https://storage.googleapis.com/summerofcode-prod.appspot.com/gsoc/core_project/doc/5283723223236608_1491231407_RewritingOpenDFfrontendusingReact_pasan_ranathunga.pdf?Expires=1504680139&GoogleAccessId=summerofcode-prod%40appspot.gserviceaccount.com&Signature=WQGDKf%2BFx98f%2BHhGu44JbY7oggH0gtRoRby4DHLd4%2FbSQn9bz1xh0hB98TcsdXD%2FAwuMmZFvmEuhV1CHMYlZRNYzeCUuTHBvdpxEs3QV7o6h2GnYaAmjc6yBwHceYZUNQ%2FadmFIPIsUE8L2xx%2BHB%2F2eLrYr6arknVlpaP12EfzLMwcuwNBh4z7eWf%2FcVIy5XYqOkSidrMokWLaJmimRGPstT09axggTcZ5NWwqnU%2BiIFheCtb7NUplzhWaf7USpck0IzqPLkBPFX9jNsmpBtxhKJYEMhOlt%2FTmKEyzSbylVcL3S4ieC0OnflRhyLwGrpkzcneeXSvBAQM4TNNRuIJA%3D%3D) 19 | 20 | ### [GitHub Organization Repo](https://github.com/scorelab/OpenDF) 21 | 22 | ### [GitHub Personal Repo](https://github.com/PMArtz92/OpenDF) 23 | 24 | ### [Commits during GSoC 2017](https://github.com/scorelab/OpenDF/commits/react-ui?author=pmartz92) 25 | 26 | ### [Project Wiki](https://github.com/scorelab/OpenDF/wiki) 27 | 28 | 29 | ### Work Summary 30 | 31 | Rewrite currect Angular front end using ReactJs. Used [react-boilerplate](https://github.com/react-boilerplate/react-boilerplate) as the base of the project. 32 | 33 | ### What Covered 34 | - Implement an Admin dashboad 35 | - Implement Project View UI 36 | - Implemented Add Project UI 37 | - Implemented Investigator view UI 38 | - Implemented Add Investigator view UI 39 | - Implemented User Settings UI 40 | - Used Material UI as the theme 41 | - Apply Material Grid to maintain the layout 42 | ### What left 43 | 44 | - Connect API to Project View UI 45 | - Implement Current Process UI 46 | 47 | ### Reference 48 | 49 | [1] [React Boiler Plate](https://github.com/react-boilerplate/react-boilerplate) 50 | [2] [Material UI](http://www.material-ui.com) 51 | [3] [Material Grid](https://github.com/roylee0704/react-flexbox-grid) 52 | -------------------------------------------------------------------------------- /GSoC-2020/Lakindu-Akash-Bug-Zero-gateway.md: -------------------------------------------------------------------------------- 1 | # Bug Zero gateway by Lakindu Akash 2 | 3 | ## Student Info 4 | 5 | * Name - Lakindu Akash 6 | * Email - lakinduakash@gmail.com 7 | * GitHub Profile - https://github.com/lakinduakash 8 | * Medium - https://medium.com/@lakinduakash 9 | * Twitter - [@lakinduakash](https://twitter.com/lakinduakash) 10 | 11 | ### Project Abstract 12 | 13 | While bug bounty programs (Such as Bug Zero) are running, organizations may want to expose their system to the outer public (Hackers) to explore the system and capture the vulnerabilities as much as they can. This process is too old and less manipulatable for the bug bounty platform. And considering the security exposing a vulnerable system via public cyberspace can be much worse, even the organization is letting access to a sandboxed environment. Tracking the hacker’s activities, controlling the user levels of the exposed system, monitoring who is accessing it, are still remaining questions on bounty hunting platforms. 14 | 15 | #### Project goals 16 | 17 | Giving a VPN gateway to connect the hacker and the organization via a VPN to address all the remaining questions which I pointed above. 18 | Implement an open-source reusable and scalable VPN gateway for bug bounty platforms in order to answer all questions above. 19 | 20 | 21 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5072594765611008) 22 | 23 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1EaNYNpOtgcpeXXvsl0YM0rvAXhugV_3Uqxnq2NXoq4c/edit?usp=sharing) 24 | 25 | ### [GitHub Organization Repo](https://github.com/bug-zero/bugzero-gateway) 26 | 27 | ### [GitHub Personal Repo](https://github.com/lakinduakash/bugzero-gateway) 28 | 29 | ### [Commits during GSoC 2020](https://github.com/bug-zero/bugzero-gateway/commits?author=lakinduakash) 30 | 31 | ### [Project Demo Video](https://youtu.be/yVDkD6LIkBI) 32 | 33 | [![Watch the video](https://img.youtube.com/vi/yVDkD6LIkBI/hqdefault.jpg)](https://youtu.be/yVDkD6LIkBI) 34 | 35 | ### [GSoC Blog](https://medium.com/scorelab/gsoc-with-scorelab-2020-85bb68602183) 36 | 37 | ### Work Summary 38 | 39 | - VPN server and client implementaion 40 | - Automatation scripts to create VPN server 41 | - API to control the VPN access 42 | - [Project's Wiki](https://github.com/bug-zero/bugzero-gateway/wiki) 43 | 44 | ### What Covered 45 | 46 | - Implemeted creating and automating the VPN server 47 | - Added certificate and token based authentication for clients 48 | - Add client configuration scripts for Ubuntu and Android 49 | - Implement the API for controling client access to the VPN server 50 | - Dockerized the API 51 | - [Documentation (Wiki)](https://github.com/bug-zero/bugzero-gateway/wiki) 52 | 53 | ### What left 54 | - Filtering VPN logs by users and other critarias 55 | 56 | ### Reference 57 | 58 | - [StrongSwan](https://www.strongswan.org/) 59 | -------------------------------------------------------------------------------- /GSoC-2019/Pawan-Bhadu-Bassa.md: -------------------------------------------------------------------------------- 1 | # Bassa : Making installation of Bassa and containerize in a better way with efficient file storage server 2 | 3 | ## Student Info 4 | - Name : Pawan Bhadu 5 | - Email : bhadup21@gmail.com 6 | - University : Indian Institute of Technology, Roorkee 7 | - GitHub handle : https://github.com/demon-36 8 | - LinkedIn profile : https://www.linkedin.com/in/pbhadu21/ 9 | 10 | ### Project Abstract 11 | Bassa is an automated download queue web-app. Bassa has been integrated with an open source storage server(Minio) and its file management system is improved than before, further Minio can be deployed as cloud storage server for Bassa, containerization of Bassa is also done using Docker and Docker-compose and Bassa containers can be deployed over Kubernetes for enterprise uses. 12 | 13 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4681470927437824) 14 | 15 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1_GQbaL_MGeXCg68zDb2vCcv8vj3vowemhWKLhI68M2s/edit?usp=sharing) 16 | 17 | ### [GitHub Organization Repo](https://github.com/scorelab/Bassa) 18 | 19 | ### [GitHub Personal Repo](https://github.com/demon-36/Bassa) 20 | 21 | ### [Commits during GSoC 2019](https://github.com/scorelab/Bassa/pulls?q=is%3Apr+author%3Ademon-36+label%3AGSoC-2019) 22 | 23 | ### [Project Demo Video](https://drive.google.com/file/d/12jMXkuwwNm22M4EdkRNmEChoyIiPRf_o/view?usp=sharing) 24 | 25 | ### [Project Wiki](https://github.com/scorelab/Bassa/wiki) 26 | 27 | ### [GSoC Blog](https://gist.github.com/demon-36/f9004033446730a08b683abaa98f370f) 28 | 29 | ### Work Summary 30 | Integrated an open source storage server(Minio) with Bassa for efficient file management which will have many functionality like file uploading, downloading, sharing and it can process files having size upto 5Tb individually. Fixed some UI issues faced during project, updated installation scripts and documentation of Bassa and worked on containerization of Bassa and wrote configuration files of Minio for Kubernetes deployment. 31 | 32 | ### What Covered 33 | 1. Integrated file storage server with Bassa 34 | 2. Updated installation scripts of Bassa for installation on various OS flavors 35 | 3. Fixed UI issues of Bassa which were disturbing work flow 36 | 4. Tested and updated Dockerfiles for Bassa API and Minio 37 | 5. Tested and updated Docker-compose for Minio integration 38 | 6. Updated documentation of Bassa 39 | 7. Composed kubernetes configuration file for Minio 40 | 41 | ### What left/ After GSoC 42 | 1. Testing and optimization of Kubernetes configurations 43 | 2. Testing deployment of bassa over kubernetes cluster. 44 | 45 | ### Reference 46 | - [Minio storage server](https://github.com/minio/minio) 47 | - [Kubernetes](https://kubernetes.io/docs/home/) 48 | - [GSoC LogBook](https://docs.google.com/document/d/13U4HWiwgRoUPLc6zr5opkv1D6Hi1TDZWKct_GKlsv_0/edit?usp=sharing) 49 | -------------------------------------------------------------------------------- /GSoC-2018/Dinith_Minura-GoSocial_Common_template.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | ## Student Info 4 | 5 | * Name - Dinith Minura 6 | * Email - dinithminura@gmail.com 7 | * University - University of Colombo School of Computing, Sri Lanka 8 | * GitHub profile - https://github.com/dinithminura 9 | * LinkedIn profile - https://lk.linkedin.com/in/dinithminura 10 | 11 | ### Project Abstract 12 | 13 | Community of today used to use mobile phones to make their life easier and Community based mobile applications are famous among them. There are several kind of community based applications in use and most of them are relating to a specific domain. But core components have similar features. Address this issue and saving development time by Introducing a common app template with customizable components for community based mobile applications , is the main purpose of this project. 14 | 15 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4567744129794048) 16 | 17 | ### [GSoC Project Proposal](https://storage.googleapis.com/summerofcode-prod.appspot.com/gsoc/core_project/doc/5911919171993600_1522150743_Dinith_MInura_-_Common_app_template_to_Go_Social_-_React_Native.pdf?Expires=1534315574&GoogleAccessId=summerofcode-prod%40appspot.gserviceaccount.com&Signature=Bz8eYQ9OPkx0Bskou26qRH2ljjW2riWL%2FVpkIat4Sk%2FBVfEiOe0kNpetduFL5LuHHZPQGJkM99dN%2BD2cB%2FVTJNPKiJpRIHLNr5c4XL0C76fA0ftaCruW7m8K1Q99hD3hIlVOMChjkJUArypq1mof%2F745JO2gLRdqkbUlvAUiJiY7q7R6bDmOU%2F%2FJYZpohHIO4%2BEYk%2Fk97kBXXdE5C%2Bp4yZdvfGUX%2FdGLrOcQiE925jZdp7tI6mqNsXU12JwMlLs%2BRyIGym05hR8zsPVufod%2FH%2FDcHELxxLn5Vz1wIgEKZlNW7khmdc4mtfJj%2FvxdRDCw4cPsB6IoqVB6iXlBRrzyZw%3D%3D) 18 | 19 | ### [GitHub Organization Repo](https://github.com/scorelab/Go-social) 20 | 21 | ### [GitHub Personal Repo](https://github.com/dinithminura/Go-social) 22 | 23 | ### [Commits during GSoC 2018](https://github.com/dinithminura/Go-social/commits/masters) 24 | 25 | 26 | 27 | 28 | 29 | ### [GSoC Blog](https://medium.com/@dinithminura/) 30 | 31 | ### Work Summary 32 | 33 | Implemented the React Native Common application platform for Community based Social applications. This application can use as a starter kit for a any kind of social application which mainly focusing on sharing news or posts, chat with members and location sharing features. 34 | 35 | ### What Covered 36 | 37 | Implemented All the basic UI components and Pages according to the Proposal 38 | 39 | ### What left 40 | 41 | Intigration of Firebase and Google map is pending 42 | 43 | ### Reference 44 | 45 | - [Build native mobile apps using JavaScript and React](https://facebook.github.io/react-native/) 46 | - [Routing and navigation for your React Native apps](https://reactnavigation.org/) 47 | - [Customizable Icons for React Native](https://github.com/oblador/react-native-vector-icons) -------------------------------------------------------------------------------- /GSoC-2019/Anmol-Bansal-Fact-Bounty.md: -------------------------------------------------------------------------------- 1 | # Fact Bounty 2 | 3 | ## Student Info 4 | - Name: Anmol Bansal 5 | - Email: abansal@ec.iitr.ac.in 6 | - University: Indian Institute of Technology Roorkee, India 7 | - GitHub Profile: https://github.com/anmolbansal1 8 | - LinkedIn Profile: https://www.linkedin.com/in/anmol-bansal-557b05149/ 9 | 10 | ### Project Abstract 11 | The Fact-Bounty project is a crowd-driven fact-checking platform. Fact-Bounty tries to minimise this chaos by spreading awareness among people on the authenticity of a news item. 12 | 13 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5027395176759296) 14 | 15 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1UBCcAJQz4i5z3QLdfnBKEj9wxNtIzrhiRLMWp47z-eA/edit?usp=sharing) 16 | 17 | ### [GitHub Organization Repo](https://github.com/scorelab/fact-Bounty) 18 | 19 | ### [GitHub Personal Repo](https://github.com/anmolbansal1/fact-Bounty) 20 | 21 | ### [Commits during GSoC 2018](https://github.com/scorelab/fact-Bounty/commits?author=Anmolbansal1) 22 | 23 | ### [Project Demo Video](http://LinkToDemoVideo) 24 | 25 | ### [Project Wiki](https://github.com/scorelab/fact-Bounty/wiki) 26 | 27 | ### [GSoC Blog](http://GSoCBlog) 28 | 29 | ### Work Summary 30 | For the GSoC 2019, I've worked on flask API and scrapy crawlers of this project. 31 | - Refactored the flask server to make it more scalable and more consistent 32 | - Restructured the API to make it easier to add more features to it later 33 | - Re-instantiated crawlers project and write crawlers for 13 news websites 34 | - Set elasticsearch pipeline to plug all fetched data from crawlers directly to database 35 | - Add scheduler feature to scrapy to allow crawlers to run after a regular period 36 | - Add system to only crawl today's news from websites 37 | - Add SMTP server to the application to allow mailing and use contact_us form 38 | - Add new env variables to flask app to make it more scalable 39 | - Implement GitHub pre-commit hook in the flask to allow code convention consistency in project 40 | - Update flask utilization of access token to make API more flexible 41 | - Made the flask server to utilize refresh tokens and new routes corresponding to it 42 | - Improve error handling of various routes 43 | - Create new voting API utility to allow users to vote news articles 44 | - Add new routes fetch particular story and search among stories 45 | - Change date column format in crawlers to allow kibana to generate visualizations in kibana 46 | - Add new script to run all crawlers simultaneously 47 | 48 | ### What Covered 49 | 50 | ### What left 51 | Adding the ability to automtically cluster fake news with the help of machine learning techniques. 52 | 53 | ### Reference 54 | - [API Documentation | Elasticsearch Python](https://elasticsearch-py.readthedocs.io/en/master/) 55 | - [Scrapy Documentation](https://docs.scrapy.org/en/latest) 56 | -------------------------------------------------------------------------------- /GSoC-2017/Hasanga_Somaratne_DroneSym.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | DroneSym - A realtime drone monitoring and controlling app 3 | ## Student Info 4 | Name : Hasanga Somaratne 5 | University : University of Colombo School of Computing 6 | E-Mail : hasanga.charaka@gmail.com 7 | ### Project Abstract 8 | DroneSym is a web app that allows simulating drone fleets and monitoring them in real time. Users are able to create new drone simulators, assign them a flightpath and issue commands. 9 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4778065891688448) 10 | ### [GSoC Project Proposal](https://storage.googleapis.com/summerofcode-prod.appspot.com/gsoc/core_project/doc/5790014544805888_1490973150_GSoCDroneSymproposal.pdf?Expires=1503543676&GoogleAccessId=summerofcode-prod%40appspot.gserviceaccount.com&Signature=QvzhHhqVfYgwJnXfLosEuA9wlovFYfhbdEkmt%2BAMhKAPO%2FVwnA6QJdAlckrdn9cb2DvznB0pIBtxud9dtzYo2dM9nPpYLYjvKSNqI3Hpzesp8TPYvBBk36yACqSiYaJrWXtYv5U8WY1%2B%2FQVU52F5XZqTi%2BN2AJJFnPiaXI73CDoYp16dHGfWuQUVwoS2eUNqx9OG9b0I8wKm%2Bb6CEKMBZuQD8G8hFFgegJ6raSZaMf0MwrLMO9ywjNR66eAGgRmuF5mte0hlONPb78sIg1xU7A1baIauOWwxZl%2FbTgw5JQwrtr8ge8fUyyRB%2BfREMDCZA8MHIJhC6Dv420JljH76MQ%3D%3D) 11 | ### [GitHub Organization Repo](https://github.com/scorelab/DroneSym) 12 | ### [GitHub Personal Repo](https://github.com/hasa93/DroneSym) 13 | ### [Commits during GSoC 2017](https://github.com/scorelab/DroneSym/commits?author=hasa93) 14 | ### [Project Demo Video](https://drive.google.com/file/d/0B0xVuKx6qWJJQ0N1MTIyVXRValE/view?usp=sharing) 15 | 16 | ### [Project Wiki](https://github.com/hasa93/DroneSym/wiki) 17 | 18 | ### [GSoC Blog](http://GSoCBlog) 19 | 20 | ### Work Summary 21 | DroneSym is a project started from scratch. As for now the drones controlled and monitored are simulations run through Dronekit-SITL module. The developing work on project required backend to handle user management, drone fleet management and real-time communication with simulated drone instances. On the frontend a dashboard and a map displaying drones is implemented. All communications with drones needs to be in real-time therefore websockets and real-time databases are needed to address the requirement. 22 | 23 | ### What Covered 24 | - Create a Flask API providing an interface to Dronekit and Dronekit-SITL modules 25 | - Implemented websocket channels for real-time communications through Socket.io and Firebase real-time database 26 | - Implemented a REST API to interface between Flask API and Frontend 27 | - Implemented JWT authentication and role based authorization 28 | - Implemented the frontend user interface with Angular 2 29 | 30 | ### What left 31 | - Add a user management module to create user groups and assigning them to drone groups 32 | - Implement an abstract data-layer on top of Firebase and MongoDB 33 | - Implement MAV commands routes to change airspeed and altitude 34 | 35 | ### Reference 36 | [Dronekit Python API Reference](http://python.dronekit.io/automodule.html) -------------------------------------------------------------------------------- /GSoC-2022/08-Takeshii-CrawlerX-Web.md: -------------------------------------------------------------------------------- 1 | # CrawlerX - Web 2 | 3 | ## Student Info 4 | * Name - Takeshi Thanushika Kalingumuni De Silva 5 | * Email - takeshi.desilva73@gmail.com 6 | * GitHub Profile - https://github.com/dizzysilva 7 | 8 | # Project Abstract 9 | 10 | The CrawlerX is a platform that we can use to crawl web URLs in a distributed fashion with different types of protocols. Web scraping, commonly referred to as web scraping, is a method of programmatically traversing a collection of web pages and extracting data, which is useful for data analysis using web-based data. Using a web crawler, you can mine data about a set of products, get lots of textual or quantitative data to use, get data from sites that don't have an official API, or just satisfy your own personal curiosity. However, with the existing implementation, it has a very bad user experience to place or schedule crawl jobs and some UIs are not very user friendly. As defined in project ideas on the organization site, this proposal has provided a new theme for CrawlerX end-users. 11 | 12 | ![CrawlerX Dashboard](https://github.com/leopardslab/CrawlerX/blob/master/crawlerx_web/src/assets/img/logos/crawlerx.png) 13 | 14 | ## [GSoC Project Page](https://summerofcode.withgoogle.com/programs/2022/projects/7Cr2y0Tz) 15 | 16 | ## [GSoC Project Proposal](https://drive.google.com/file/d/1e87HgRpo4FD92bcfUEnRh3UnlOQlTAyp/view) 17 | 18 | ## [GitHub Organization Repo](https://github.com/leopardslab/CrawlerX) 19 | 20 | ## [GitHub Personal Repo](https://github.com/dizzysilva/CrawlerX) 21 | 22 | ## [Commits during GSoC 2022](https://github.com/leopardslab/CrawlerX/commits?author=dizzysilva) 23 | 24 | # Work Summary 25 | 26 | For GSoC 2022, I mainly contributed to CrawlerX's new Web UI. As the part of development, I used VueJS as the main Javascript library with state management features. During the first phase, I had few meetings with my mentor to decide on a theme and finalize the UI template to proceed with the application. Please refer to the demo UI image below. 27 | 28 | - Dashboard Page 29 | 30 | ![CrawlerX Dashboard](https://github.com/leopardslab/CrawlerX/blob/master/resources/theme/UI_One.png) 31 | 32 | - Crawl Job Page 33 | 34 | ![CrawlerX Job Page](https://github.com/leopardslab/CrawlerX/blob/master/resources/theme/UI_Two.png) 35 | 36 | # What Covered 37 | 38 | - New Logo Design 39 | - CrawlerX Login page 40 | - CrawlerX SignUp page 41 | - Firebase authentication with Google 42 | - Firebase authentication with Email/Password 43 | - CrawlerX Dashboard with job summary 44 | - CrawlerX crawl project page 45 | - CrawlerX Instant Crawl Job page 46 | - CrawlerX Interval Crawl Job page 47 | - CrawlerX Cron Crawl Job page 48 | - CrawlerX selecting and scheduling UI 49 | - Testing on containerized environment 50 | 51 | # What left 52 | 53 | - Integrating observability UI 54 | 55 | # Reference 56 | 57 | - [VueJS](https://vuejs.org/) 58 | - [NPM](https://www.npmjs.com/) 59 | -------------------------------------------------------------------------------- /GSoC-2018/Sumedhe_Dissanayake-Senz_Switch.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | SenZ Switch 3 | 4 | ## Student Info 5 | * Name : Sumedhe Dissanayake 6 | * Email : [sumedhedissanayake@gmail.com](mailto:sumedhedissanayake@gmail.com) 7 | * Github : [https://github.com/sumedhe](https://github.com/sumedhe) 8 | * Linkedin : [https://www.linkedin.com/in/sumedhe](https://www.linkedin.com/in/sumedhe) 9 | * Institute : University of Colombo School of Computing, Sri Lanka. 10 | 11 | 12 | ### Project Abstract 13 | SenZ Switch is a high-speed message passing system which can be used to do the communicating between IoT devices. After connecting the devices to the system, they can share data with the other connected devices. The system acts like a message broker and it does not keep or read any data passing through it. All the messages passing through the system are secured with an End-to-end Encryption method. So this system to can be used to connect private devices also without hesitating. 14 | 15 | 16 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6441506961883136) 17 | 18 | ### [GSoC Project Proposal](https://drive.google.com/open?id=1H_gOvQTQoHPOiBmdKv65zb3ADAw84eup) 19 | 20 | ### [GitHub Organization Repo](https://github.com/scorelab/senz) 21 | 22 | ### [GitHub Personal Repo](https://github.com/sumedhe/senz) 23 | 24 | ### [Commits during GSoC 2018](https://github.com/scorelab/senz/commits?author=sumedhe) 25 | 26 | ### [Project Demo Video](https://youtu.be/QXyGK5AwvFI) 27 | 28 | ### [Project Wiki](https://github.com/sumedhe/senz/wiki) 29 | 30 | ### Work Summary 31 | 32 | For GSoC 2018, I have implemented the main functions of the SenZ switch using Scala. The SenZ switch works as a hub and it passes messages between devices. Akka actor models are used for connecting devices with the server and passing messages between devices. Sample client programmes are also implemented to transfer data between devices with end-to-end protection. 33 | 34 | ### What Covered 35 | Things covered in GSoC coding period 36 | - Senz message parser to parse message queries 37 | - TCP Socket 38 | - Akka models for device sessions and the socket 39 | - RSA Key Generation module 40 | - Session manager to handle connected devices 41 | - Database module to use mongodb 42 | - Message data encryption using AES Crypto 43 | - Client programs to transfer images between two devices 44 | - Unit tests for each module 45 | - API Documentation 46 | 47 | 48 | ### What left 49 | - Admin panel to manage devices 50 | - Streaming functionalities 51 | 52 | ### Reference 53 | 1. [Akka official Documentation](https://akka.io/docs/) 54 | 2. [Scala Documentation](https://docs.scala-lang.org) 55 | 3. [Modern Functional Programming and Actors With Scala and Akka](https://pdfs.semanticscholar.org/1f1e/398b39a77681e0c83feb12e2bcdace133728.pdf) 56 | 4. [Azure IoTHubReact](https://azure.github.io/toketi-iothubreact) 57 | 5. [MySensors.info](http://mysensors.info/senz.html) 58 | -------------------------------------------------------------------------------- /GSoC-2020/Harshit-Verma-Express-Python.md: -------------------------------------------------------------------------------- 1 | # Express Python 2 | 3 | ## Student Info 4 | 5 | * Name - Harshit Verma 6 | * Email - hverma1@cs.iitr.ac.in 7 | * University - IIT Roorkee, India 8 | * GitHub Profile - hv7214 9 | * LinkedIn profile - hv7214 10 | * Medium - hverma1 11 | 12 | ### Project Abstract 13 | 14 | Express Python is a Python code editor designed to be a valuable companion 15 | application for learning and competitive programming. It runs easily on 16 | Windows distros. It supports input and output window and works with stdin. 17 | 18 | ### [GSoC Project Page](https://github.com/leopardslab/expressPython) 19 | 20 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1Df3egaxvC_q2f6BG71d6Q2twb-zewrMfI3cRX5OL9rM/edit) 21 | 22 | ### [GitHub Organization Repo](https://github.com/leopardslab) 23 | 24 | ### [GitHub Personal Repo](https://github.com/hv7214/expressPython) 25 | 26 | ### [Commits during GSoC 2020](https://github.com/leopardslab/expressPython/commits?author=hv7214) 27 | 28 | ### [Project Demo Video](https://user-images.githubusercontent.com/42354803/83750303-bde3be80-a682-11ea-955e-f2aff01f4b10.gif) 29 | 30 | ### [GSoC Blog](https://medium.com/@hverma1/gsoc20-blogs-unified-20158170a0fa) 31 | 32 | ### Work Summary 33 | 34 | 1. Used ANTLR to generate lexers for syntax highlighting, replacing the old one written as a set of regex. 35 | 2. Fix the Jedi based auto-completion. 36 | 3. Check for memory/thread issues using Valgrind/Address Sanitizer/Thread Sanitizer. 37 | 4. Integrated terminal window in the expressPython. ​ 38 | 5. Enable Continuous Integration for linux. 39 | 40 | ### What Covered 41 | 42 | * [Added Unix support](https://github.com/leopardslab/expressPython/pull/8) 43 | * [Fixed Jedi autocomplete](https://github.com/leopardslab/expressPython/pull/9) 44 | * [Added expressPython gitter link](https://github.com/leopardslab/expressPython/pull/12) 45 | * [Terminal Integration](https://github.com/leopardslab/expressPython/pull/13) 46 | * [Added ANTLR Syntax highlighting](https://github.com/leopardslab/expressPython/pull/17) 47 | * [Port QMake to CMake](https://github.com/leopardslab/expressPython/pull/19) 48 | * [Ubuntu CI and deb package generation](https://github.com/leopardslab/expressPython/pull/25) 49 | * [Doc update](https://github.com/leopardslab/expressPython/pull/26) 50 | * [Ubuntu CI Artifacts Release feature](https://github.com/leopardslab/expressPython/pull/28) 51 | * [Snippet, Tutorial and Notes Toggle button](https://github.com/leopardslab/expressPython/pull/29) *(Not part of proposal)* 52 | * [Shortcut Keys feature](https://github.com/leopardslab/expressPython/pull/30) *(Not part of proposal)* 53 | * [Issue and Bug templates](https://github.com/leopardslab/expressPython/pull/31) *(Not part of proposal)* 54 | 55 | ### What left 56 | 57 | * macOs CI *(Work in progess) (Not part of proposal)* 58 | * Windows CI *(Not part of proposal)* 59 | 60 | ### Reference 61 | 62 | [GSoC'20 Daily Log](https://docs.google.com/document/d/1jHwgMigkUS7l9FH_dDHdh88djDvIHQF4ftW0d7q_Dkw/edit) -------------------------------------------------------------------------------- /GSoC-2019/Wathsara-Daluwatta-Go-Social.md: -------------------------------------------------------------------------------- 1 | # Animal Rescue App 2 | 3 | ## Student Info 4 | 5 | Name : Wathsara Wishwantha Daluwatta 6 | Email : wvd.51461@gmail.com 7 | GitHub profile - https://github.com/Wathsara 8 | 9 | ### Project Abstract 10 | 11 | A common sight on today’s streets is the number of abandoned animals languishing on the streets suffering with injuries and disease and live without any shelter. The silent suffering of these souls caught the attention of dynamic, animal lover, so Animal Rescue App initiative to develop a mobile app to track animals that are in need of help. Animal Rescue App Connect animal lovers, vets, and other NGOs in real time. They Can Track the Animals That Actually Need the Help. 12 | 13 | People can start by signup to the application using Facebook or Google. When someone comes across a sick or injured or languishing animal on the road and is unable to attend to it, can use the app to send a message across through the app to anyone in the vicinity to help. Take a picture of the animal and the Set the location. Then select the type of animal and some Description about the Animal. Then The Peoples who Love to help that animal would attend to it. Then they can update the status of that Animal As well. And also app will provide a category wise searching in order to help the people to easily come across animals that need help. 14 | 15 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4677826245033984) 16 | 17 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1_kBaadN--xKNTA2XbVf0gbZlGbfGMoqk1znywInjiR4/edit?usp=sharing) 18 | 19 | ### [GitHub Organization Repo](https://github.com/scorelab/AnimalRescue) 20 | 21 | ### [GitHub Personal Repo](https://github.com/Wathsara/AnimalRescue) 22 | 23 | ### [Commits during GSoC 2019](https://github.com/scorelab/AnimalRescue/commits/master) 24 | 25 | ### [Project Demo Video](https://drive.google.com/file/d/1Efb4CDYzobjaBgs0-1Hy_83IfK63Ib84/view?usp=sharing) 26 | 27 | ### [Project Wiki](https://github.com/scorelab/AnimalRescue/wiki) 28 | 29 | 30 | ### Work Summary 31 | 32 | For the GSoC 2019, I've implemented the basic functionality of the moblie application. The application is implemented with react-native and the used the Go social Components, so the apps for iOS and Android can be built at the same time. And unit testing in the mobile application have been done using jest. 33 | 34 | ### What Covered 35 | Implimented 36 | 1. SignIn and SignUp using Facebook and google. 37 | 2. Create Post with Photo or Video 38 | 3. Filtering of Post Using distance and Time. 39 | 4. Commenting and adding reactions 40 | 5. Handling the issue. 41 | 6. FInishing the issue with proof. 42 | 7. Notification. 43 | 8. Profile and edit profile. 44 | 45 | 46 | ### What left 47 | 1. Styling the Some UI components 48 | 49 | 50 | ### Reference 51 | [1]: React-Native Docs - https://facebook.github.io/react-native/ 52 | [2]: Firebase Docs - https://firebase.google.com/docs/ 53 | [3]: Google Map API - https://developers.google.com/maps/documentation/ 54 | -------------------------------------------------------------------------------- /GSoC-2019/Yash-Mehrotra-Senz.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | SenZ Admin Panel 4 | 5 | ## Student Info 6 | 7 | - Name -Yash Mehrotra 8 | - Email -mehrotra.yash9@gmail.com 9 | - GitHub -https://github.com/YashMeh 10 | - Linkedin -https://www.linkedin.com/in/yash-mehrotra-ab2573154 11 | - Institute -Vellore Institute of Technology, India 12 | 13 | ### Project Abstract 14 | 15 | SenZ admin panel is the view of the software that interact with the user and enable overall control on the devices .It fetches data from multiple sources and present in an interactive way which reduces the complexity of dealing with multiple devices. Such views are built to convincingly stimulate how a user would interact while managing devices in real life. 16 | 17 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5446905234980864) 18 | 19 | ### [GSoC Project Proposal](https://drive.google.com/open?id=1KieQm6DlYcJbuhk8DBJld8cdt_o68_Z4B-4RD9rzBAU) 20 | 21 | ### [GitHub Organization Repo](https://github.com/scorelab/senz) 22 | 23 | ### [GitHub Personal Repo](https://github.com/YashMeh/senz) 24 | 25 | ### [Commits during GSoC 2018](https://github.com/scorelab/senz/commits?author=YashMeh) 26 | 27 | ### [Project Demo Video](https://drive.google.com/file/d/1lSEZEN3j80c8j2TRLFNvoeFAp1niKLEW/view) 28 | 29 | ### [Project Wiki](https://github.com/YashMeh/senz/wiki) 30 | 31 | ### [GSoC Blog](https://medium.com/@yashmehrotra_77558/reactjs-love-at-second-sight-6010a472a9af) 32 | 33 | ### Work Summary 34 | 35 | In GSoC 2019 I built the admin panel and the senz npm module.
The admin panel can be use to control devices connected to the senz server from the browser.Apart from controlling the devices the panel also provides some visualization to help the user analyse the data being sent and received.
36 | The senz npm module provides a common interface to connect to the server. 37 | 38 | ### What Covered 39 | 40 | - User authentication (login/signup). 41 | - Creation and deletion of devices and projects. 42 | - Data visualisation for a project. 43 | - Switching of devices and projects. 44 | - Generation of key for the user for query authentication. 45 | - Custom error handling for the senz switch to log various kinds of errors. 46 | - Visualisation of error logs in the admin panel. 47 | - NPM module for the senz switch. 48 | - Tests for the admin panel and the npm module. 49 | - CI using travis. 50 | - API documentation. 51 | 52 | ### What left 53 | 54 | - Sending and receiving of streaming data in the senz-switch. 55 | - Logging the streaming data onto the admin panel. 56 | - A mobile application of the admin panel. 57 | 58 | ### Reference 59 | 60 | - [NodeJs Documentation](https://nodejs.org/en/docs/) 61 | - [ReactJs Documentation](https://reactjs.org/docs/getting-started.html) 62 | - [Redux Documentation](https://redux.js.org/api/api-reference) 63 | - [Casbah Scala](https://mongodb.github.io/casbah/) 64 | - [Scala Documentation](https://docs.scala-lang.org/) 65 | - [NPM Documentation](https://docs.npmjs.com/cli/publish) 66 | -------------------------------------------------------------------------------- /GSoC-2018/Lakindu_Gunasekara-CLocal_Azure.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | CLocal-Azure 4 | 5 | ## Student Info 6 | 7 | * Name - Lakindu Gunasekara 8 | * Email - lakindu1995@gmail.com 9 | * University - Informatics Institute of Technology, Sri Lanka 10 | * GitHub profile - https://github.com/lakindu95 11 | * LinkedIn profile - https://www.linkedin.com/in/lakindu-gunasekara 12 | 13 | ### Project Abstract 14 | 15 | CLocal Azure is an local emulator to test or mock the Azure Services without deploying into Azure Platform, and provide easiness for developer by reducing the cost. Our goal is to have all azure possible local services into one single project and provide easiness to run a whole azure project locally. Currently project supports azure functions, azure storage and azure cosmos db emulators to run locally. 16 | 17 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5610489845907456) 18 | 19 | ### [GSoC Project Proposal](https://drive.google.com/open?id=1-VnJFRaNZNawGCZp38K6JRzd1C-6zoRP) 20 | 21 | ### [GitHub Organization Repo](https://github.com/cloudlibz/clocal-azure) 22 | 23 | ### [GitHub Personal Repo](http://github.com/lakindu95/clocal-azure) 24 | 25 | ### [Commits during GSoC 2018](https://github.com/cloudlibz/clocal-azure/pull/2) 26 | 27 | ### [Project Demo Video](https://www.youtube.com/playlist?list=PLbd4A5tkijhDGRQp6BcrwGhRvS0TU8zhQ) 28 | 29 | ### [Project Wiki](https://github.com/cloudlibz/clocal-azure/wiki) 30 | 31 | ### [GSoC Blog](https://medium.com/tag/clocal-azure/latest) 32 | 33 | ### Work Summary 34 | 35 | For the GSoC 2018, I've initiate the project from the scratch and added support for four services to emulate locally. 36 | 37 | Services added, 38 | - Azure Functions 39 | - Azure Storage (Blob, Queue & Tables) 40 | - Azure CosmosDB 41 | - API App Service 42 | 43 | Along with the above implementations, I have added sample projects for each service in the project itself and added an article every week and created a video series for each service. 44 | 45 | ### What Covered 46 | 47 | For the initial stage I have covered the following services. 48 | 49 | 1. Azure Functions (function init, function start, function stop) 50 | 2. Azure Storage (storage start, storage clear, storage stop) 51 | - Blob 52 | - Queue 53 | - Table 54 | 3. Azure Cosmos DB (cosmosdb init, cosmosdb start, cosmosdb stop) 55 | 4. API App Service (api start) 56 | 57 | - Added a script to run all services at once (sh compose.sh) 58 | 59 | ### What left 60 | 61 | - Portential to add more services 62 | - Add additional commands for services 63 | 64 | ### Reference 65 | 66 | - [Azure Functions Documentation for Local Run](https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local) 67 | - [Azure Cosmos DB Emulator](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator) 68 | - [Azure Storage Emulator](https://docs.microsoft.com/en-us/azure/storage/common/storage-use-emulator) 69 | - [Azure API App Service sample](https://github.com/Huachao/azure-content/blob/master/articles/app-service-api/app-service-api-nodejs-api-app.md) -------------------------------------------------------------------------------- /GSoC-2019/Tuan-Amith-Fact-Bounty.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | Fact Bounty 3 | 4 | ## Student Info 5 | * Name - Tuan Muraad Amith 6 | * Email - [ymuraad@gmail.com](mailto:ymuraad@gmail.com) 7 | * University - University of Colombo School of Computing 8 | * Github Profile - [https://github.com/root5533](https://github.com/root5533) 9 | * LinkedIn Profile - [https://www.linkedin.com/in/root5533/](https://www.linkedin.com/in/root5533/) 10 | 11 | ### Project Abstract 12 | Fact Bounty is a platform where the truth and validity of news is determined through crowdsourcing. The main objective is to spread awareness regarding fake news and with the help of visualizations, help users determine the spread of such news documents. 13 | 14 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6365922036547584) 15 | 16 | ### [GSoC Project Proposal](https://summerofcode.withgoogle.com/serve/5052203209850880/) 17 | 18 | ### [GitHub Organization Repo](https://github.com/scorelab/fact-Bounty) 19 | 20 | ### [GitHub Personal Repo](https://github.com/root5533/fact-Bounty) 21 | 22 | ### [Commits during GSoC 2018](https://github.com/scorelab/fact-Bounty/commits?author=root5533) 23 | 24 | ### [Project Wiki](https://github.com/scorelab/fact-Bounty/wiki) 25 | 26 | ### Work Summary 27 | During the GSoC period, I was able to complete the milestone of visualizing the rumour spread of a certain news item in tweets. Depending on a specific keyword, the relevant tweets, retweets and quotes are gathered and visualized in a graph that shows how many users have retweeted a certain tweet from a user and how many users have tweeted regarding the keyword. 28 | 29 | ### What Covered 30 | Following are the tasks that was completed. 31 | * Created a Twitter app using the Twitter developer platform to allow searching and retrieving tweets from Twitter. 32 | * Set up an authentication portal using oauth.io that will handle complex authentication flows in order to provide permission for client app to use user's Twitter account to retrieve tweets. 33 | * Authorize each user with Twitter app and save the tokens to prevent user authorization everytime user searches for tweets. 34 | * Given a keyword, retrieve a maximum of 1000 tweets related to the keyword by sending multiple requests to Twitter search API. 35 | * Generate and visualize a directed graph using sigmajs where each tweet represent a node and each edge represent the tweet was retweeted or quoted by a user. 36 | * Show twitter handle of user in each node label. 37 | * Preview details of tweet and user that each node represent. 38 | * Visualize a timeline graph of cumulative tweets against the time the tweets were created. 39 | * Animate the graph showing the progress of tweets and retweets with time. 40 | 41 | Bug fixes and CSS styling of client side application was also carried out during the GSoC period. 42 | 43 | ### What left 44 | * Set up a free authentication portal instead of oauth.io 45 | 46 | ### Reference 47 | * SigmaJS - http://sigmajs.org 48 | * Twitter API - https://developer.twitter.com/en/docs 49 | * OAuth - http://docs.oauth.io/ 50 | -------------------------------------------------------------------------------- /GSoC-2021/09-Lycanthrope-Code-Labz.md: -------------------------------------------------------------------------------- 1 | # CodeLabz 2 | 3 | ## Student Info 4 | 5 | - Name - Piyumal Kularathna 6 | - Email - piyumaldk@gmail.com 7 | - GitHub Profile - https://github.com/piyumaldk 8 | - Medium - https://medium.com/@piyumal 9 | 10 | # Project Abstract 11 | 12 | Codelabz is a platform which gives users to engage with online tutorials 13 | and organizations to add tutroials. 14 | Project is developed using Google Firebase and Firestore as backend. 15 | Project's frontend is developed using React and Material UI. 16 | 17 | ## [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5308706394210304) 18 | 19 | ## [GSoC Project Proposal](https://drive.google.com/file/d/1uya-6US0RKZxr7UpNDOENOn0QhrR5qra/view?usp=sharing) 20 | 21 | ## [GitHub Organization Repo](https://github.com/scorelab/Codelabz) 22 | 23 | ## [GitHub Personal Repo](https://github.com/piyumaldk/Codelabz/tree/material-ui) 24 | 25 | ## [Commits during GSoC 2021](https://github.com/scorelab/Codelabz/commits/master?author=piyumaldk) 26 | 27 | ## [Project Demo Video](https://youtu.be/_Rp10p7O_gY) 28 | 29 | ## [Project Wiki](https://github.com/scorelab/Codelabz#readme) 30 | 31 | ## [GSoC Blog](https://piyumal.medium.com/list/google-summer-of-code-5549256fbbd4) 32 | 33 | # Work Summary 34 | 35 | Main task was to develop components using Material UI. Some components of the 36 | project were built using AntD. Most challenging part of the project was to convert some functions to Material UI which was built easily using AntD. For an example, image croping. In the porcess, I was able to design images to replace some previews of the project too as an additional task. I developed seperate common reusable components for image handling, field validations as Material UI does not provide simple components for these tasks. Dashboard, Profile, Profile Info Card, Profile View, and Edit Profile View are the main components which were developed by me. Other than that, common components such as app bar of the project was also developed by me. All developed components are both mobile and web friendly. Components were tested manually. Overall user interface fixing was done as finalizing the project also by me. Handling Firestore and designing user interfaces using Figma for the project were also done by me parallelly with the above mentioned tasks. In addition to that fixing some errors and warnings of the project was also done by me as I got those tasks directly from the mentor too. 37 | 38 | Live demo - [https://dev.codelabz.io/](https://dev.codelabz.io/) 39 | 40 | # What Covered 41 | 42 | - Dashboard Component and it's functions 43 | - Profile Component and it's functions 44 | - Profile Info Card Component and it's functions 45 | - Profile View Component and it's functions 46 | - Edit Profile Details Component and it's functions 47 | - App Bar of the Project and it's functions 48 | - Design preview SVG files 49 | - User Interface Designing using Figma 50 | - User Interface fixing 51 | - Error and Warning Fixing 52 | 53 | # What left 54 | 55 | - Complete User Home Page 56 | - Extend functionalities 57 | 58 | # 59 | -------------------------------------------------------------------------------- /GSoC-2021/12-Pola-Hano-Shehat-Improving-Image-Lab-UI-UX.md: -------------------------------------------------------------------------------- 1 | # ImageLab - Improving the Image Lab user experience 2 | 3 | ## Student Info 4 | 5 | * Name - Pola Hano Shehat 6 | * Email - [pola.hano@gmail.com](pola.hano@gmail.com) 7 | * GitHub Profile - [polahano](https://github.com/polahano) 8 | * Medium - [@pola.hano](https://medium.com/@pola.hano) 9 | 10 | ### Project Abstract 11 | ImageLab is a standalone tool which supports anyone to get started with image processing related concepts and techniques in an interactive, less logical way. So, this tool enables and also motivates the fresh users to understand how image processing concepts work by interacting with ImageLab. Moreover, for the users who are already comfortable with image processing tasks ImageLab offers a test environment before they move ahead with actual implementation or development. 12 | 13 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/archive/2021/projects/5708407146807296) 14 | 15 | ### [GSoC Project Proposal](https://docs.google.com/document/d/14zHGm2HtsyNfw1Z8AQkUBqlRf3ZsQVPfx5EHjZzqNZ4/edit?usp=sharing) 16 | 17 | ### [GitHub Organization Repo](https://github.com/scorelab/ImageLab) 18 | 19 | ### [GitHub Personal Repo](https://github.com/polahano/imagelab) 20 | 21 | ### [Commits during GSoC 2021](https://github.com/scorelab/ImageLab/commits?author=polahano) 22 | 23 | ### [Project Demo Video](https://drive.google.com/file/d/1qqARDWuTBXQCHXiRmsgiZVivvucDf2Mg/view?usp=sharing) 24 | 25 | ### [GSoC Blog](https://medium.com/@pola.hano/my-journey-with-score-lab-in-gsoc-2021-4b6f580d3390) 26 | 27 | ### Work Summary 28 | 29 | The main idea of the project that I chose to work on is enhancing UI / UX of the project. So, I started before the GSoC begins and designed my initial imagination about the project UI and thinked how to improve it to get user satisfactory. After thinking I listed points to follow to get better UI. I started building a new UI from scratch and through my work I gained much experience in technologies I have never used and by time with consulting of my mentors the project got better and better.It was a great learning journey. 30 | 31 | ### What Covered 32 | 33 | - Designing a logo for ImageLab project 34 | - Designing a splash screen (loading screen) 35 | - Making a quick guide on the first use 36 | - Improving the project User Interface 37 | - Adding night mode 38 | - Changing block styles 39 | - Adding zooming in the playground and in preview pane. 40 | - Add save or don’t save pipeline option when closing the app. 41 | - Replacing Information pane with improved one. 42 | - Adding Info (About us) section 43 | - Providing availability for all image sizes 44 | - Drag and drop in basket to remove a specific filter 45 | - Adding some buttons 46 | - Run with keyboard shortcut. 47 | - Adding the ability to search for a block. 48 | - Adding undoing feature 49 | - Coloring information pane on selecting a block. 50 | - Customizing title bar and menu bar 51 | 52 | ### What left 53 | 54 | - Adding help section 55 | - Adding history pane 56 | - Package the application into an installable exe file in windows 57 | - Enhancing the UI of the project documentation. 58 | -------------------------------------------------------------------------------- /GSoC-2020/Nimesha-S-ChainX.md: -------------------------------------------------------------------------------- 1 | # S-ChainX 2 | 3 | ## Student Info 4 | 5 | * Name - Nimesha 6 | * Email - tnwick4@gmail.com 7 | * GitHub Profile - Tharuka-Nimesha 8 | * Medium - https://medium.com/@tnwick4 9 | * Twitter - []() 10 | 11 | ### Project Abstract 12 | In commerce, supply chain management, the management of the flow of goods and services, involves the movement and storage of raw materials, of work-in-process inventory, and of finished goods from point of origin to point of consumption. A consumer being able to keep track of these intermediate steps at any given point ensures the superiority and the freshness of the product he/she is about to consume. S-ChainX is an open source platform, in which the organizations can define their subsequent procedures that take place in their supply chains. The agent will be inserting the corresponding details to the platform and on the other hand, the consumers will be able to view the stored information. To make sure that the consumers get accurate data and that the data can not be manipulated, S-ChainX uses blockchain to store the transactions. 13 | 14 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/) 15 | 16 | ### [GSoC Project Proposal](https://drive.google.com/file/d/13xtCmbdJeHrKh7RhpT20WGvEdcPq7afH/view?usp=sharing) 17 | 18 | ### [GitHub Organization Repo](https://github.com/scorelab/S-ChainX) 19 | 20 | ### [GitHub Personal Repo](https://github.com/Tharuka-Nimesha/S-ChainX) 21 | 22 | ### [Commits during GSoC 2020](https://github.com/scorelab/S-ChainX/commits) 23 | 24 | ### [Project Demo Video](https://drive.google.com/file/d/1mXfnJrq5qh7yFKo9mRx9o_kt3Svyuoea/view?usp=sharing) 25 | 26 | ### [GSoC Blog]() 27 | 28 | ### Work Summary 29 | For GSoC 2020, I mainly focused on building the hyperledger fabric network for S-ChainX and its smart contracts. The blockchain network for the project was developed using the IBM extension and the smart contract project is extracted in a way that can be easily hosted on IBM cloud witha few clicks. For the demonstration, the network has one orderer, one peer and one org in it. The org admin has the priviledge to submit and evaluate the transactions. Furthermore a prototype mobile application was also developed using React Native to demonstrate the consumer's experience. 30 | 31 | ### What Covered 32 | * Smart contract project for a hypothotical business scenario (Coffee) 33 | * Hyperledger fabric network for demo purposes including 1 org, 1 orderer, 1 peer 34 | * SC project extraction to support plug and play on IBM cloud 35 | * Mobile app prototype for consumers 36 | 37 | ### What left 38 | * Hosting the SC project on a blockchain hosting provider 39 | * API to query data from the mobile application 40 | * Generate QR codes when the "Create" smart contract is sumbited 41 | * Interate maps and history functionality to the mobile application 42 | 43 | ### Reference 44 | 1. [IBM Blockchain Docs](https://cloud.ibm.com/docs/blockchain?topic=blockchain-get-started-ibp#ibm-blockchain-platform) 45 | 2. [Hyperledger fabric](https://www.hyperledger.org/use/fabric) 46 | 3. [IBM Cloud](https://www.ibm.com/cloud) 47 | 4. [React Native](https://reactnative.dev) 48 | -------------------------------------------------------------------------------- /GSoC-2020/Poornima-Rangoda-CrawlerX-Extensible-Distributed-Scalable-Crawler-System.md: -------------------------------------------------------------------------------- 1 | # CrawlerX - Extensible, Distributed, Scalable Crawler System 2 | 3 | ## Student Info 4 | 5 | * Name - Poornima Rangoda 6 | * Email - poornima.k.rangoda@gmail.com 7 | * GitHub Profile - https://github.com/poornimarangoda 8 | * Medium - https://medium.com/@poornimar.blogger 9 | 10 | ### Project Abstract 11 | The CrawlerX is a platform which we can use for crawl web URLs in different kind of protocols in a distributed way. Web crawling often called web scraping is a method of programmatically going over a collection of web pages and extracting data which useful for data analysis with web-based data. With a web scraper, you can mine data about a set of products, get a large corpus of text or quantitative data to play around with, get data from a site without an official API, or just satisfy your own personal curiosity. 12 | 13 | ![CrawlerX - Architecture Diagram](https://raw.githubusercontent.com/leopardslab/CrawlerX/master/resources/architecture_diagram.jpg) 14 | 15 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4546083851599872) 16 | 17 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1ys3cfM00_1rXg-xWPqQbDuuleIzkZW18/view) 18 | 19 | ### [GitHub Organization Repo](https://github.com/leopardslab/CrawlerX) 20 | 21 | ### [GitHub Personal Repo](https://github.com/poornimarangoda/CrawlerX) 22 | 23 | ### [Commits during GSoC 2020](https://github.com/leopardslab/CrawlerX/pulls?q=is%3Apr+is%3Aclosed+author%3Apoornimarangoda) 24 | 25 | ### [GSoC Blog] 26 | * Story 1 - [Link](https://medium.com/scorelab/gsoc-with-scorelab-2020-story-01-b845ebc190b8) 27 | * Story 2 - [Link](https://medium.com/@poornimar.blogger/gsoc-with-scorelab-2020-story-02-970ddeba2dc8) 28 | 29 | ### Work Summary 30 | For the GSoC 2020, I have implemented the CrawlerX platform which is an extensible, distributed, scalable crawler system for the end-users. With this platform, now users can simply crawl any kind of URL as he desired. In this platform, I have implemented 3 main spiders for crawling mechanisms. What users need to do is, just log in to the system, create a project using the intuitive user interface and schedule the crawl job by adding required URLs. Also, the CrawlerX platform is capable to preview what are the created projects by users, corresponding jobs and the results of the scheduled jobs with its status. Additionally, users can see the crawled data with this platform just from one click. 31 | 32 | ### What Covered 33 | * User login with Firebase authentication and authorization. 34 | * Project creation for Crawling jobs. 35 | * Crawling job scheduling. 36 | * Backend integration with Django REST APIs. 37 | * Message broker functionality for extensibility with RabbitMQ. 38 | * Job scheduling capability with Scrapy. 39 | * Integrate data storing functionality with MongoDB. 40 | * Platform wise centralized logs/query analysis with ElasticSearch. 41 | * Crawled data previewing. 42 | * UI for the CrawlerX platform with VueJS. 43 | 44 | ### What left 45 | * Upload crawling URLs from files. 46 | * Kubernetes artifacts. 47 | 48 | ### Reference 49 | 1. [Scrapy](https://scrapy.org/) 50 | 2. [VueJS](https://vuejs.org/) 51 | -------------------------------------------------------------------------------- /GSoC-2018/Pratik_Dhanave-GoCloud.md: -------------------------------------------------------------------------------- 1 | # GoCloud 2 | ## Student Info 3 | * Name - Pratik Dhanave 4 | * Email - i.pratikdhanave@gmail.com 5 | * GitHub profile - https://github.com/PratikDhanave 6 | 7 | 8 | ### Project Abstract 9 | gocloud is a standard library for Go that abstracts away differences among multiple cloud providers. Developing golang package for interacting with Google cloud,AWS, Digi Ocean, Ali Cloud using a unified API. 10 | 11 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6643006694752256) 12 | 13 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1a1J5kYc1CtNCTpXCj2JMcAqXsMaMVNUF8iajTEiggO0/edit) 14 | 15 | ### [GitHub Organization Repo](https://github.com/cloudlibz/gocloud) 16 | 17 | ### [GitHub Personal Repo](https://github.com/PratikDhanave/gocloud) 18 | 19 | ### [Commits during GSoC 2018](https://github.com/PratikDhanave/gocloud/commits/awsserverlesslambada-v2) 20 | 21 | ### [Project Demo Video](https://www.youtube.com/playlist?list=PLOdfztY25UNnxK_0KRRHSngJIyVLDKZxq&disable_polymer=true) 22 | 23 | ### [Project Wiki](https://github.com/cloudlibz/gocloud/wiki) 24 | 25 | ### [GSoC Blog](https://medium.com/gocloud) 26 | 27 | ### Work Summary 28 | For GSoC 2018 I have extended the project support for AWS and Google cloud platform (GCP). 29 | 30 | Support for following services were added, 31 | - Serverless 32 | - Database 33 | - Machine Learning 34 | - Analytics 35 | - Notification Service 36 | - Stream Data Processing 37 | - for authentication with AWS cloud I implemented signature-version-4 get method and signature-version-4 with authetication header method. 38 | - for authentication with Google cloud I implemented OAuth client and service account authentication method. 39 | 40 | Along with development of APIs, I added documentation and unit tests. 41 | Created tutorial series. 42 | 43 | ### What Covered 44 | 45 | - Developed APIs for Serverless, Database, Machine Learning, Analytics, notification and stream data processing. 46 | 47 | 1. AWS 48 | - lambada 49 | - Amazon DynamoDB 50 | - Amazon Machine Learning 51 | - Amazon Redshift 52 | - Amazon Simple Notification Service 53 | - Amazon Kinesis 54 | 55 | 2. GCP 56 | - Google Cloud functions 57 | - Google Cloud Bigtable 58 | - Google Machine Learning Engine 59 | - BigQuery 60 | - Cloud Pub/Sub 61 | - Cloud Dataflow 62 | 63 | 64 | - Added unit tests for developed APIs. 65 | - Added documentation for developed APIs. 66 | - Added examples for developed APIs. 67 | - Added Developer API documentation using godoc for developed APIs. 68 | - Created gocloud getting started video tutorial series. 69 | 70 | ### What left 71 | 72 | - Additional APIs can be added as improvements in next versions. 73 | - Potential to add more cloud providers. 74 | 75 | ### Reference 76 | - [Aws-documentation](https://aws.amazon.com/documentation/) 77 | - [Aws-signature-version-2](http://docs.aws.amazon.com/general/latest/gr/signature-version-2.html) 78 | - [Aws-signature-version-4](http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) 79 | - [Google-cloud-documentation](https://cloud.google.com/docs/) 80 | - [AWS and Google Cloud platform comparison](https://cloud.google.com/docs/compare/aws/) 81 | -------------------------------------------------------------------------------- /GSoC-2019/Udesh-Kumarasignhe-LabelLab.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | Mobile App for LabelLab 3 | 4 | ## Student Info 5 | 6 | - Name: Udesh Kumarasinghe 7 | - Email: mail@udesh.xyz 8 | - University: Univesity of Colombo School of Computing,Sri Lanka 9 | - GitHub Profile: https://github.com/UdeshUK 10 | - LinkedIn Profile: https://www.linkedin.com/in/udeshuk/ 11 | 12 | ### Project Abstract 13 | 14 | LabelLab Mobile App focuses on creating a mobile application to classify and label all kind of images without being specific to a category to satisfy more use cases. LabelLab mobile app’s motivation is to allow the user to use a classification model in the field using their handheld device. 15 | 16 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5748654906802176) 17 | 18 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1ErDhg_8wRGGVPyBeuOYdzSzkVp2ZmzAXwt5zOL6zjsE/edit?usp=sharing) 19 | 20 | ### [GitHub Organization Repo](https://github.com/scorelab/LabelLab) 21 | 22 | ### [GitHub Personal Repo](https://github.com/UdeshUK/LabelLab) 23 | 24 | ### [Commits during GSoC 2018](https://github.com/scorelab/LabelLab/commits?author=UdeshUK) 25 | 26 | ### [Project Demo Video](https://youtu.be/9UG7UEyQans) 27 | 28 | ### [Project Wiki](https://github.com/scorelab/LabelLab/wiki) 29 | 30 | ### Work Summary 31 | 32 | For the GSoC 2019, I've initiated the LabelLab Mobile app project from scratch and implemented the required functionality using Flutter. Also, I've collaboratively implemented modules of LabelLab server which are required for LabelLab Mobile app's functionality. I have successfully implemented image classification from camera or gallery, classification history, admin features, authentication with social logins and documented information needed to set up the project. 33 | 34 | ### What Covered 35 | 36 | - Collaboratively designed and finalized labellab-server endpoints 37 | - Designed mobile app's UI flow and wireframes 38 | - Initialized flutter project and configured dependencies 39 | - Implemented sign in and sign up frow and integrated with the labellab-server 40 | - Integrated Google Sign In and GitHub SSO 41 | - Created the user profile and update profile picture edit feature 42 | - Created classification endpoints in the labellab-server to be used for classifications 43 | - Implemented image classification flow to classify images using camera or gallery 44 | - Created history section to list out user's previous classifications 45 | - Implemented project management(create, edit, delete) features 46 | - Implemented user search endpoint and functionality to search users 47 | - Implemented project's user management (add or remove members) 48 | - Implemented project's label management (create, edit, remove) 49 | - Implemented single and batch image upload with camera or gallery 50 | - Implemented uploaded image management features 51 | - Created a labeling tool to add labels to uploaded images using rectangular or polygonal selections 52 | - Wrote tests for implemented endpoints of labellab-server 53 | 54 | ### What left 55 | 56 | - Implement path tracking feature by integrating with the labellab server 57 | 58 | ### Reference 59 | 60 | - [Documentation | Flutter](https://flutter.dev/docs) -------------------------------------------------------------------------------- /GSoC-2017/Pratik_Dhanave_GoCloud.md: -------------------------------------------------------------------------------- 1 | # GoCloud 2 | ## Student Info 3 | * Name - Pratik Dhanave 4 | * Email - i.pratikdhanave@gmail.com 5 | * GitHub profile - https://github.com/PratikDhanave 6 | 7 | ### Project Abstract 8 | gocloud is a standard library for Go that abstracts away differences among multiple cloud providers. The gocloud compute package is designed to make it easy to provision and work with VMs. Developing golang package for interacting with Google compute engine and AWS EC2 using a unified API. 9 | 10 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5679856277782528) 11 | 12 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1ZmVHT4vgxPcft7XZj8dInYof51uu32hWEkszuAZUy3E/edit) 13 | 14 | ### [GitHub Organization Repo](https://github.com/scorelab/gocloud-v2/) 15 | 16 | ### [GitHub Personal Repo](https://github.com/PratikDhanave/gocloud-v2) 17 | 18 | ### [Commits during GSoC 2017](https://github.com/scorelab/gocloud-v2/commits/master?author=PratikDhanave) 19 | 20 | ### [Project Demo Video](https://www.youtube.com/playlist?list=PLOdfztY25UNnxK_0KRRHSngJIyVLDKZxq) 21 | 22 | ### [Project Wiki](https://github.com/PratikDhanave/gocloud-v2/wiki) 23 | 24 | ### [GSoC Blog](https://pratikdhanave.github.io/blog/2017/08/27/gocloud-google-summer-of-code-final-report/) 25 | 26 | ### Work Summary 27 | For GSoC 2017 I have initiated the project from scratch and added support for AWS and Google cloud platform (GCP). 28 | 29 | Support for following services were added, 30 | - Compute 31 | - Storage 32 | - Container 33 | - Load Balancing 34 | - DNS 35 | - for authentication with AWS cloud I implemented signature-version-2 and signature-version-4 method. 36 | - for authentication with Google cloud I implemented OAuth client and service account authentication method. 37 | 38 | Along with development of APIs, I added documentation and unit tests. 39 | Created tutorial series. 40 | 41 | ### What Covered 42 | 43 | - Developed APIs for compute, Storage, Container, Load Balancing and DNS services. 44 | 45 | 1. AWS 46 | - EC2 47 | - AWS Storage Service 48 | - Amazon Elastic Container Service(ECS) 49 | - AWS Elastic Load Balancing 50 | - AWS Route5S 51 | 2. GCP 52 | - Compute(GCE) 53 | - Google Storage Service 54 | - Google Container Service (Container) 55 | - Google Elastic Load Balancing 56 | - Google Cloud DNS 57 | 58 | - Added unit tests for developed APIs. 59 | - Added documentation for developed APIs. 60 | - Added examples for developed APIs. 61 | - Added Developer API documentation using godoc for developed APIs. 62 | - Created gocloud getting started video tutorial series. 63 | 64 | ### What left 65 | 66 | - Additional APIs can be added as improvements in next versions. 67 | - Potential to add more cloud providers. 68 | 69 | ### Reference 70 | 71 | - [Aws-documentation](https://aws.amazon.com/documentation/) 72 | - [Aws-signature-version-2](http://docs.aws.amazon.com/general/latest/gr/signature-version-2.html) 73 | - [Aws-signature-version-4](http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) 74 | - [Google-cloud-documentation](https://cloud.google.com/docs/) 75 | - [AWS and Google Cloud platform comparison](https://cloud.google.com/docs/compare/aws/) 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /GSoC-2022/05-Saksham-Sharma-CodeLabz-Frontend-Improvements.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | CodeLabz: frontend improvements 4 | 5 | # Project Abstract 6 | 7 | CodeLabz is a platform where the users can engage with online tutorials and the organizations can create tutorials for the users. It is developed with ReactJS and Google Firebase. The main objectives of this project are: improve the frontend of the CodeLabz platform, add new features for enhancing user experience, provide testing, and improve documentation. 8 | 9 | ## [GSoC Project Page](https://summerofcode.withgoogle.com/programs/2022/projects/J5Q0vFr1) 10 | 11 | ## [GSoC Project Proposal](https://drive.google.com/file/d/1uqipC535NGahpR4VZIDYCk4vsuDWlLFS/view?usp=sharing) 12 | 13 | ## [GitHub Organization Repo](https://github.com/scorelab/Codelabz) 14 | 15 | ## [GitHub Personal Repo](https://github.com/sakkshm26/Codelabz) 16 | 17 | ## [Commits during GSoC 2022](https://github.com/scorelab/Codelabz/pulls?q=author%3Asakkshm26) 18 | 19 | | PR Link | Description | Issue Link | 20 | | ----------------------------------------------------- | ----------- | ------------------------------------------------------- | 21 | | [#307](https://github.com/scorelab/Codelabz/pull/307) | Merged ✅ | [#292](https://github.com/scorelab/Codelabz/issues/292) | 22 | | [#312](https://github.com/scorelab/Codelabz/pull/312) | Merged ✅ | [#292](https://github.com/scorelab/Codelabz/issues/292) | 23 | | [#319](https://github.com/scorelab/Codelabz/pull/319) | Merged ✅ | [#292](https://github.com/scorelab/Codelabz/issues/292) | 24 | | [#326](https://github.com/scorelab/Codelabz/pull/326) | Merged ✅ | [#292](https://github.com/scorelab/Codelabz/issues/292) | 25 | | [#339](https://github.com/scorelab/Codelabz/pull/339) | Merged ✅ | [#292](https://github.com/scorelab/Codelabz/issues/292) | 26 | | [#347](https://github.com/scorelab/Codelabz/pull/347) | Merged ✅ | [#292](https://github.com/scorelab/Codelabz/issues/292) | 27 | | [#377](https://github.com/scorelab/Codelabz/pull/377) | Merged ✅ | [#352](https://github.com/scorelab/Codelabz/issues/352) | 28 | | [#423](https://github.com/scorelab/Codelabz/pull/423) | Merged ✅ | [#422](https://github.com/scorelab/Codelabz/issues/422) | 29 | | [#439](https://github.com/scorelab/Codelabz/pull/439) | Merged ✅ | [#422](https://github.com/scorelab/Codelabz/issues/422) | 30 | | [#445](https://github.com/scorelab/Codelabz/pull/445) | Merged ✅ | [#422](https://github.com/scorelab/Codelabz/issues/422) | 31 | 32 | ## [Project Demo Video](https://youtu.be/ro7bVbgWIm4) 33 | 34 | ## [Project Wiki](https://github.com/scorelab/Codelabz/wiki) 35 | 36 | ## [GSoC Blog](https://medium.com/@sakkshm/gsoc22-with-score-lab-df3fee04e679) 37 | 38 | # Work Summary 39 | I worked on improving the frontend of the CodeLabz platform, developed the user dashboard and UI components for user settings with ReactJS, added cypress tests, worked with Firebase Emulator, and integrated new components with the Firebase backend. 40 | 41 | # What Covered 42 | - Developing the new UI components 43 | - Creating a user dashboard 44 | - Adding Stories with Storybook 45 | - Creating cypress tests 46 | - Integrating the components with Firebase 47 | 48 | # What left 49 | Firebase functions for some of the new features. 50 | -------------------------------------------------------------------------------- /GSoC-2017/Shehan_Weerakkody_OpenDF_Image_Annotation_And_DescribeModule.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | OpenDF - Image annotation and describe module 3 | 4 | ## Student Info 5 | Name : Shehan Weerakkody 6 | University : University of Colombo School of Computing 7 | E-Mail : shehanweer123@gmail.com 8 | 9 | ### Project Abstract 10 | Nowadays, digital forensic tools are often used to investigate cyber crimes, which are becoming more and more frequent. OpenDF is a tool for forensic analysis of disk data. By having an image description module that automatically recognises objects from the large amount of images that are available in a disk, it saves manual work for an investigator. Basically, there is a need to maintain all the objects detected in an image in a Database and make it searchable using keywords. Moreover, This project builds a REST API for image annotation. 11 | 12 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6176600054824960) 13 | 14 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1zIJYMrAOB18vv1cQM5rMUfw6zb4Tco50pu8Rn1nmvJA) 15 | 16 | ### [GitHub Organization Repo](https://github.com/scorelab/OpenDF) 17 | 18 | ### [GitHub Personal Repo](https://github.com/ShehanWeerakkody/OpenDF) 19 | 20 | ### [Commits during GSoC 2017](https://github.com/scorelab/OpenDF/commits/describe-image) 21 | 22 | ### [Project Demo Video](http://LinkToDemoVideo) 23 | 24 | ### [Project Wiki](https://github.com/ShehanWeerakkody/OpenDF/wiki/Image-Annotation-Module) 25 | 26 | ### [GSoC Blog](http://GSoCBlog) 27 | 28 | ### Work Summary 29 | During the last three months in GSoC 2017 I have implemented an image annotation REST API for the OpenDF digital forensic tool. First of all I implemented a basic image recognition model using different pre-trained Convolutional Neural Network models such VGG16, VGG19 and RestNet50. With use of Flask python framework I implemented a REST API which takes image file UUID as the input and it returns the predictions as a JSON response. 30 | 31 | Then we use the Google Cloud Vision API to annotate the given image. This has a huge amount of performance improvement. The image annotation results will return within 3 seconds. Finally we Dockerized the application. Using this image annotation module users can predict the image content. Also, Investigation organizations can use following models based on their requirements by simply editting the properties.conf file. 32 | 33 | VGG16 34 | VGG19 35 | ResNet 36 | GoogleCloudAPI 37 | 38 | ### What Covered 39 | Implemented a base Image Recognition Model using pre trained models. 40 | Implemented a Flask bare bone skeleton for REST API. 41 | Developed the REST API to take a file UUID and send the predictions as a JSON response. 42 | Handle REST API Exceptions. 43 | Use Google Cloud Vision API for Image Annotation module. 44 | Dockerized the application. 45 | 46 | ### What left 47 | Need to implement an Elastisearch to get the actual file path for a given UUID. 48 | 49 | ### Reference 50 | https://keras.io/ 51 | https://www.tensorflow.org/ 52 | https://medium.com/@ageitgey/machine-learning-is-fun-part-3-deep-learning-and-convolutional-neural-networks-f40359318721 53 | http://www.image-net.org/challenges/LSVRC/ 54 | https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/ 55 | https://cloud.google.com/vision/docs/ 56 | -------------------------------------------------------------------------------- /GSoC-2017/Priya_Pappachan_OpenIoE_Implement_Bidirectional_Publish_Subscribe_Behaviour.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | OpenIoE - Implement bidirectional publish-subscribe behaviour 4 | 5 | ## Student Info 6 | 7 | - Name : Priya Pappachan 8 | - Email : priyapappachan010@gmail.com 9 | 10 | ### Project Abstract 11 | 12 | OpenIoE is an open source project capable of retrieving and storing data from sensors with a web frontend to monitor and manage this sensor data. Currently, OpenIoE cannot act as a publisher and therefore cannot send control messages to sensors so as to change their settings. Therefore a user of OpenIoE cannot trigger a data collection from connected sensors immediately or in the future. Extending OpenIoE to support bi-directional pub-sub will enable it to send data collection requests to sensors. With this feature, OpenIoE will able to actuate sensors as necessary and thus act as a central platform from which a user can control their sensors as necessary. 13 | 14 | 15 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5416938311254016) 16 | 17 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1XEJdqeMuNi51oeE49VmP2skFcLf9zB9SWev2GBFsvgw/edit?usp=sharing) 18 | 19 | ### [GitHub Organization Repo](https://github.com/scorelab/OpenIoE) 20 | 21 | ### [GitHub Personal Repo](https://github.com/priyapappachan/OpenIoE) 22 | 23 | ### [Commits during GSoC 2017](https://github.com/scorelab/OpenIoE/commits?author=priyapappachan) 24 | 25 | ### [Project Demo Video](https://drive.google.com/file/d/0B8TApYOf5vh0LW9UUVpYV2NrN0U/view) 26 | 27 | ### [Project Wiki](https://github.com/priyapappachan/OpenIoE/wiki/OpenIoE) 28 | 29 | ### Work Summary 30 | 31 | The bidirectional publish-subscribe behaviour in OpenIoE is implemented using rest endpoint and Artemis message broker with the support of MQTT protocol. MQTT Topic Wildcards can be used for topic filters when subscribing to MQTT messages. These wildcards are useful if a client wants to receive messages for different topics with similar structure at once. The user can create a new subscription in OpenIoE to subscribe to topics of device sensors. The messages that are received on the subscribed topics are stored in Cassandra. The user can also create publications in OpenIoE to publish data to topics. The data can be published using HTTP or MQTT protocols. All data messages that are used for publish/subscribe are stored in Cassandra keyspace whereas sensor and device information are stored in MySQL database. An android application is developed to test the publish behavior by sending GPS sensor data from mobile device to other devices through OpenIoE. An MQTT client application can be used to subscribe to the required topics and to receive messages. 32 | 33 | 34 | ### What Covered 35 | 36 | - Added bidirectional publish-subscribe behavior to OpenIoE 37 | - Topic filter implementation for subscription to messages 38 | - Developed an Android application to test OpenIoE with GPS sensor data 39 | - Detailed documentation on installation, usage and concepts in OpenIoE 40 | 41 | ### What left 42 | 43 | - Need to implement authentication for Publish Subscribe 44 | 45 | ### Reference 46 | 47 | - [MQTT client](https://github.com/fusesource/mqtt-client) 48 | - [JHipster](https://jhipster.github.io/) 49 | - [Artemis message broker](https://activemq.apache.org/artemis/) 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /GSoC-2020/Hansika-Wanniarachchi-Ukiyo-A-push-based-container-update-tool.md: -------------------------------------------------------------------------------- 1 | # Ukiyo - A push based container update tool 2 | 3 | ## Student Info 4 | 5 | * Name - Hansika Wanniarachchi 6 | * Email - hansijw76@gmail.com 7 | * University - University of Moratuwa, Sri Lanka 8 | * GitHub Profile - https://github.com/HansikaW 9 | * Medium - https://medium.com/@HansikaWanniarachchi 10 | 11 | ### Project Abstract 12 | 13 | ukiyo is a push based container update tool that acts as a watcher for docker containers. It will run alongside with the other running containers and will be responsible for automatic updates and schedule container deployment time. Push events will be received from ukiyo via the docker registry webhook to updated the containers. ukiyo itself runs as a Docker container or else runs as a separate background process a daemon. 14 | 15 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5966531676078080) 16 | 17 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1Oc37N0PLzrosCgDIjE3lNB3E0eYa22ZIIHJ8QsYsbS8/edit?usp=sharing) 18 | 19 | ### [GitHub Organization Repo](https://github.com/leopardslab/ukiyo) 20 | 21 | ### [GitHub Personal Repo](https://github.com/HansikaW/ukiyo) 22 | 23 | ### [Commits during GSoC 2020](https://github.com/leopardslab/ukiyo/commits?author=HansikaW) 24 | 25 | ### [Project Demo Video](https://drive.google.com/file/d/1AsjIcbLw9I8kf_h2IHG2exAr12GpW5Gs/view?usp=drivesdk) 26 | 27 | ### [GSoC Blog](https://medium.com/@HansikaWanniarachchi/gsoc-2020-work-summary-70c9db9a5e1c) 28 | 29 | ### [Project Wiki](https://github.com/HansikaW/ukiyo/wiki) 30 | 31 | ### Work Summary 32 | 33 | This project was conducted in order to implement a lightweight agent run on the docker which facilitate push-based solution for automating container deployment. Push events will be received from ukiyo via webhooks. Docker registries provide webhooks to subscribe and listen to image changes. Locally running images will change only after such an event is received by ukiyo. Ukiyo support for the multiple Docker Registries and It will pull the latest images and make the deployment according to the instruction. ukiyo will automatically complete the deployment on the fly or at the scheduled time and all deployment events loaded into own cache. Ukiyo support to expose multiple external ports and maintain a log file thus users can view the cache data using CLI command. Not only that, but the user can view the status of the scheduled events in a table view. ukiyo container run alongside with the other running containers. 34 | 35 | ### What Covered 36 | - Implemented webhook listner 37 | - Implemented ukiyo push manager which involved with webhook configuration 38 | - Implemented docker image puller and exsting image remover 39 | - Implemented the deployment time scheduler 40 | - Implemented ukiyo REST API 41 | - Implemented container manager feature 42 | - Created ukiyo-agent as a lightweight docker image 43 | - Added test cases and feature validation 44 | - Documentation - ukiyo wiki 45 | - Added GitHub Actions 46 | 47 | ### What left 48 | 49 | - Implementation of ukiyo dashboard 50 | - Complete more of the testing for the project 51 | - Implement the scheduler feature that will be configured for all the time zones 52 | 53 | ### Reference 54 | 55 | - [Docker Documentation](https://docs.docker.com/) 56 | - [Docker Swam](https://docs.docker.com/engine/swarm/) 57 | - [Go DockerClient](https://github.com/fsouza/go-dockerclient) 58 | -------------------------------------------------------------------------------- /GSoC-2019/Poornima-Rangoda-ChainKeeper.md: -------------------------------------------------------------------------------- 1 | # ChainKeeper - Optimized Analytical Interface for ChainKeeper 2 | 3 | ## Student Info 4 | - Name : Poornima Kavindi Rangoda 5 | - Email : poornima.k.rangoda@gmail.com 6 | - University : Monash University Australia 7 | - GitHub handle : https://github.com/poornimarangoda 8 | 9 | ### Project Abstract 10 | ChainKeeper Analysis Library is a platform where user can analyse the blockchain data which are the outputs of the ChainKeeper parse. From this implemented ChainKeeper Analysis Libraries users able to retreive Blockchain, Block, Transaction, Input, Output data and Address data by accessing the python library called **chainkeeper_analysis.so**. 11 | 12 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4719437733691392) 13 | 14 | ### [GSoC Project Proposal](https://storage.googleapis.com/summerofcode-prod.appspot.com/gsoc/core_project/doc/4547182600912896_1554647600_GSoC_2019-ChainKeeper-Final_proposal.pdf?Expires=1566762011&GoogleAccessId=summerofcode-prod%40appspot.gserviceaccount.com&Signature=OOpo0J%2F7PrWR13zGlpNKC%2Ft8HFBpUQijT8DnGhX5MmcyQ998sIpiaJolXhZkTPieryuggR7bz0rtwxFjZcXMDF0Tyz8ETM0fTaQZ%2BzhPa96h25P99rHQJHKfrhSmZAOetgSY2m4EWVHwBXLw5VOxYqMoMvy7ZFEH26mrhJXQqB7jefkZkSpAHMG%2BjxpZhCo9B9tK8AmUzBaVSqeSG3mfLrwp%2BG7UENbbKAX4CjMNIkrpeqnTvZae6PCe6eUEaQtZ09iN%2FjbL3%2B9TQ1iSFiVFY9zFw%2BopQAJSiSK%2FYygQbLs0ecSEe%2BRhm9vfo8VwhRKo1H5v81DB4k0srTSVGYz6ug%3D%3D) 15 | 16 | ### [GitHub Organization Repo](https://github.com/scorelab/ChainKeeper) 17 | 18 | ### [GitHub Personal Repo](https://github.com/poornimarangoda/ChainKeeper) 19 | 20 | ### [Commits during GSoC 2019](https://github.com/scorelab/ChainKeeper/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aclosed+author%3Apoornimarangoda) 21 | 22 | ### [Project Wiki](https://github.com/scorelab/ChainKeeper/tree/master/analysis-library/gdoc) 23 | 24 | ### Work Summary 25 | During the GSoC 2019 I have developed an analytical interface for the blockchain which is useful for the analysis activities doing for the blockchains. Basically it has two types of interfaces. Blockchain data and Addresses.In Blockchain data it contains data classes for Blockchain, Block, Tx, Input and Output. For the Address for the moment there is a Address class. All these classes have defined inside the PYTHON_MODULE method of C++ boost library. From this PYTHON_MODULE we can create a shared library supports to the python. Boost enables to create python data structures in C++. Therefore, library methods can return data which are compatible with python environment. Then this shared python library can be used in Jupyter interface to access the Core Blockchain Data. 26 | 27 | ### What Covered 28 | - Implementation of the Analysis Library architecture 29 | - Implement the analytical interface for the blockchain dataset 30 | - Implement the analystical interface for the address 31 | - Connect the analytical interface with the output of the parser data 32 | - Optimized data retrieving queries based on performance 33 | - Documentaions of the Analysis Library 34 | - Testing the project 35 | 36 | ### What left 37 | - Add new methods for the Address class interface 38 | - Performance evaluation based on the file based system for parser data 39 | 40 | ### Reference 41 | - [BlockSci Research paper](https://arxiv.org/abs/1709.02489) 42 | - [Boost C++ Library](https://www.boost.org/doc/libs/1_39_0/libs/python/doc/index.html) 43 | - [C++ Standards](https://www.tutorialspoint.com/cplusplus/cpp_multithreading.htm) 44 | -------------------------------------------------------------------------------- /GSoC-2019/Lakindu-Gunasekara-CLocal-Azure.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | CLocal-Azure 4 | 5 | ## Student Info 6 | 7 | * Name - Lakindu Gunasekara 8 | * Email - lakindu1995@gmail.com 9 | * University - Informatics Institute of Technology, Sri Lanka 10 | * GitHub profile - https://github.com/lakindu95 11 | * LinkedIn profile - https://www.linkedin.com/in/lakindu-gunasekara 12 | 13 | ### Project Abstract 14 | 15 | CLocal Azure is an local emulator to test or mock the Azure Services without deploying into Azure Platform, and provide easiness for developer by reducing the cost. Our goal is to have all azure possible local services into one single project and provide easiness to run a whole azure project locally. Currently the project supports up to 8 services and 4 of them were written during the GSoC 2019 period. 16 | 17 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5495000714969088) 18 | 19 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1qoZ0FixFzzqqG0AczDo1sxSultLNMqls/view?usp=sharing) 20 | 21 | ### [GitHub Organization Repo](https://github.com/cloudlibz/clocal-azure) 22 | 23 | ### [GitHub Personal Repo](https://github.com/lakindu95/clocal-azure) 24 | 25 | ### Commits during GSoC 2019 26 | 27 | * [Pull Request 1](https://github.com/cloudlibz/clocal-azure/pull/56) 28 | * [Pull Request 2](https://github.com/cloudlibz/clocal-azure/pull/57) 29 | * [Pull Request 3](https://github.com/cloudlibz/clocal-azure/pull/58) 30 | 31 | ### [Project Demo Video](https://www.youtube.com/playlist?list=PLbd4A5tkijhDGRQp6BcrwGhRvS0TU8zhQ) 32 | 33 | ### [Project Wiki](https://github.com/cloudlibz/clocal-azure/wiki) 34 | 35 | ### [GSoC Blog](https://medium.com/tag/clocal-azure/latest) 36 | 37 | ### Work Summary 38 | 39 | During the period of 2019, I have been adding more services to CLocal Azure project. The added services are mentioned below and one of the services are written from scratch covering the basic functioanlities. 40 | 41 | Services added, 42 | - Azure CLI 43 | - Azure SQL Server 44 | - Azure KeyVault 45 | - Azure Search (Built from scratch) 46 | 47 | To add value to the services above, a video demo series has been added to the clocal azure youtube playlist and weekly medium articles were written to give the updates of the progress. For more information regarding the summary please see the link below. 48 | 49 | * [GSoC Summary](https://medium.com/@lakindu1995/gsoc-2019-summary-fbafcb351cdc) 50 | 51 | 52 | ### What Covered 53 | 54 | For the GSoC period, I have covered the following services. 55 | 56 | 1. Azure CLI (cli start, cli stop) 57 | 2. Azure SQL Server (sql start, sql stop) 58 | 3. Azure KeyVault (vault start, vault stop) 59 | 4. Azure Search (search start, search stop) 60 | 61 | - To run all services at once, added a shell script (sh compose.sh) 62 | 63 | ### What left 64 | 65 | - Add more services to emulate. 66 | - Add more features on Azure Search service. 67 | 68 | ### Reference 69 | 70 | - [Quickstart: Create an Azure Search index in Node.js](https://docs.microsoft.com/en-us/azure/search/search-get-started-nodejs) 71 | - [Search Documents (Azure Search Service REST API)](https://docs.microsoft.com/en-us/rest/api/searchservice/Search-Documents) 72 | - [CREATE INDEX (Transact-SQL)](https://docs.microsoft.com/en-us/sql/t-sql/statements/create-index-transact-sql?view=sql-server-2017) 73 | - [How to run HashiCorp Vault (Secrets Management) in Docker](https://www.melvinvivas.com/secrets-management-using-docker-hashicorp-vault/) 74 | -------------------------------------------------------------------------------- /GSoC-2018/Janagan_Siva-Drola_Backend.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | Drola - Backend with Realtime Database 4 | 5 | ## Student Info 6 | 7 | * Name : Janagan Sivagnanasundaram 8 | * LinkedIn : https://www.linkedin.com/in/janagan-sivagnanasundaram-806a755a/ 9 | * Github : https://github.com/janagan1993 10 | * Email : janagangsoc@gmail.com 11 | 12 | ### Project Abstract 13 | 14 | Redesign and Implement the DroLa system as a real time database based system instead of WebSocket based system. Introduced bi-directional end-to-end secured communication between sensor nodes and Application Server. A new packet structure with the binary level message header, header parser and message parsers to make the system more general to use as a general tracking system. 15 | 16 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4693073825628160) 17 | 18 | ### [GSoC Project Proposal](https://storage.googleapis.com/summerofcode-prod.appspot.com/gsoc/core_project/doc/6649662954536960_1522148301_GSOC_2018-Proposal.pdf?Expires=1534334000&GoogleAccessId=summerofcode-prod%40appspot.gserviceaccount.com&Signature=OKFD9hJ3%2FWlvqHkNsN2ELMEwfiQreJhMNwFqBeMQuD2%2B1sBrVuBndXQW1xhgwD0EFbInhjjbPbMNfmb%2BOlLMAiGLGhOWnv6t0dmGuIWnSLiJl4hiy33px6Zq1XPMmrq6Pz5GRc8dS%2F3l181tFY0IPzWzjU4LSxBHjmgDsOCrOqVZvszAWGucvjis8InPAnBA%2FiMNmWeSuY7PRMInuC3WHLhzgr5mZrYWHjdMpntee2SaxNaGafDKtyylh2X2wovDAe2%2B3Emne0cP2yaxU336TPIFeMrJoqnTBzOJh5VUPG5q4SI0AcqtOn9eN%2F0ruTLtJxovUPuE%2B5WV%2ByLO9KBs9g%3D%3D) 19 | 20 | ### [GitHub Organization Repo](https://github.com/scorelab/drola/tree/general-develop) 21 | 22 | ### [GitHub Personal Repo](https://github.com/janagan1993/drola/tree/drola_generalized) 23 | 24 | ### [Commits during GSoC 2018](https://github.com/scorelab/drola/commits/general-develop) 25 | 26 | 27 | 28 | 29 | 30 | ### [GSoC Blog](https://letstartjana.blogspot.com/) 31 | 32 | ### Work Summary 33 | 34 | * Integrated Mongo change stream replica database to notify Sensor node changes realtime. 35 | * Bi-Directional communication using a new encription library(AES-256CBC) for Application server, LoRa Gateway and Sensor Node. 36 | * Design and Implement a message protocol using byte level data encoding which suitable for LoRa packet limitation and Implement for Sensor Nodes, Lora Gateway and Application Server. 37 | * Message Parser to give a general Application API. 38 | 39 | ### What Covered 40 | 41 | * Real Time Database Integration . 42 | * Bi-Direction secured End to End communication from Sensor Node to Application Server. 43 | * Design and Implemented message Protocol. 44 | * Partially implemented Message Message Parser. 45 | 46 | ### What left 47 | 48 | * Complete Message parser. 49 | 50 | ### Reference 51 | 52 | - [MongoDB 3.6 change streams example with Node.js](https://medium.com/@thakkaryash94/mongodb-3-6-change-streams-example-with-node-js-2b9a85652c50) 53 | - [An Introduction to Change Streams](https://www.mongodb.com/blog/post/an-introduction-to-change-streams) 54 | 55 | - [DroLa : Master branch(Previous Project) ](https://github.com/scorelab/drola) 56 | 57 | - [AES for microcontrollers](https://github.com/spaniakos/AES) 58 | 59 | - [Node js Guides](https://nodejs.org/en/docs/guides/) 60 | 61 | - [LoRa WAN : MOst widely Spreaded LPWAN ](https://lora-alliance.org/about-lorawan) 62 | 63 | - [LoRa Device : E45-TTL-100 ](https://quadmeup.com/wp-content/uploads/2017/09/E45-TTL-100_Datasheet_EN_v1.2.pdf) 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /GSoC-2022/07-Drifter-CrawlerX-Extend-CrawlerX-for-multi-protocols.md: -------------------------------------------------------------------------------- 1 | # CrawlerX - Extend CrawlerX for Multi Protocols 2 | 3 | ## Student Info 4 | * Name - Chiran Malith Karunasinghe 5 | * Email - chirankarunasinghe3@gmail.com 6 | * GitHub Profile - https://github.com/DrifterKaru 7 | 8 | # Project Abstract 9 | 10 | Web scraping, commonly referred to as web scraping, is a method of programmatically traversing a collection of web pages and extracting data that is useful for data analysis of web-based data. In the current project, CrawlerX is - distributed extensible scalable web crawling platform: platform that we can use to crawl web URLs in a distributed fashion with different types of protocols. Web scraping, commonly referred to as web scraping, is a method of programmatically traversing a collection of web pages and extracting data, which is useful for data analysis using web-based data. Using a web crawler, you can mine data about a set of products, get lots of textual or quantitative data to use, get data from sites that don't have an official API, or just satisfy your own personal curiosity. However, when using the CrawlerX platform, users may encounter UX issues and feature gaps that are useful for data analysis. Also, such tools will mostly be useful for Darkweb analysis and gathering malicious and criminal records to investigate law enforcement duties. 11 | 12 | ![CrawlerX with Tor](https://github.com/leopardslab/CrawlerX/blob/master/resources/Crawlerx_Tor.jpg) 13 | 14 | 15 | ## [GSoC Project Page](https://summerofcode.withgoogle.com/programs/2022/projects/9x4krJ3S) 16 | 17 | ## [GSoC Project Proposal](https://drive.google.com/file/d/1Ei4Fm_Kpl6m6b4yggwzu1weT7fuYEBwM/view) 18 | 19 | ## [GitHub Organization Repo](https://github.com/leopardslab/CrawlerX) 20 | 21 | ## [GitHub Personal Repo](https://github.com/DrifterKaru/CrawlerX) 22 | 23 | ## [Commits during GSoC 2022](https://github.com/leopardslab/CrawlerX/commits?author=DrifterKaru) 24 | 25 | # Work Summary 26 | 27 | Majorly this project covered adding multi protocol support for CrawlerX by integrating Tor Proxy and relevant proxy configurations in Scrapy and other inner components. When a user starts the CrawlerX application executing docker compose command Tor proxy starts default and ready to serve onion crawl requests on demand. Also, with the CrawlerX web application, users can schedule any onion URLs in all the scheduling types that CrawlerX provides by selecting Tor_Onion crawling type. Refer following images for the basic idea of the tasks. Moreover, few useful spiders was added to the Scrapy server that are very important in terms of data analysis and researches. 28 | 29 | 30 | - Web Application Option 31 | 32 | ![CrawlerX - Schedule Job](https://github.com/leopardslab/CrawlerX/blob/master/resources/DarkWeb_Onion_Option.png) 33 | 34 | - Tor Proxy 35 | 36 | ![Docker Compose](https://github.com/leopardslab/CrawlerX/blob/master/resources/Tor_Proxy_Config.png) 37 | 38 | 39 | # What Covered 40 | 41 | - Integrating Tor Proxy with relevant configurations 42 | - Adding Srapy Tor onion spider 43 | - Adding Scrapy Research Gate spider 44 | - Adding Medium article spider 45 | - Secured endpoints to fetch dark web crawled data 46 | - Schedule crawler jobs for dark web URLs 47 | - Testing Tor onion multi protocol support 48 | - Did relevant database and Celery component level changes 49 | - Update Readme file 50 | 51 | 52 | # Reference 53 | 54 | 1. [Tor Project](https://www.torproject.org/) 55 | 2. [Docker Compose](https://docs.docker.com/compose/) 56 | -------------------------------------------------------------------------------- /GSoC-2017/Amila_Karunathilaka_Drone_Comm.md: -------------------------------------------------------------------------------- 1 | # Drone Comm 2 | 3 | ## Student Info 4 | * Name - K. A. De Zoysa Karunathilaka 5 | * Country - Sri Lanka 6 | * University - University of Moratuwa 7 | * Field of study - Computer Science & Engineering 8 | * GitHub - https://github.com/Amila1991 9 | * Email - amilakarunathilaka.12@cse.mrt.ac.lk 10 | * Contact No. - +94779386412 11 | 12 | ### Project Abstract 13 | Drone Comm is community platform which is help to meet drone owners and drone required people. using this platform drone required people can request drone from the community. And drone pilot who has drone can be hire their drones and can get income. In this case drone requester publish he/she task(purpose) description and request drone through this community platform. These open task request forward to drone pilot and drone pilot bid for these task. 14 | 15 | ### [GSoC Project Proposal](https://docs.google.com/a/cse.mrt.ac.lk/document/d/1Pj5INineHwD-yIHs4ibBRlRCJnYPRDlgZC8zREV_nr8/edit?usp=sharing) 16 | 17 | ### [GitHub Organization Repo](https://github.com/scorelab/Drone-Comm) 18 | 19 | ### [GitHub Personal Repo](https://github.com/Amila1991/Drone-Comm) 20 | 21 | ### [Commits during GSoC 2017](https://github.com/scorelab/Drone-Comm/commits/master) 22 | 23 | ### [Project Wiki](https://github.com/Amila1991/Drone-Comm/wiki) 24 | 25 | ### [GSoC Blog](https://medium.com/@amilakarunathilaka.12/gsoc-experience-e823aa4e0165) 26 | 27 | ### [API Documentation](https://drive.google.com/open?id=1hbae5COEZc82dPIb3Jp3H5eDjJp8n1SFj0j6_l1avbU) 28 | 29 | ### Work Summary 30 | Developed Drone Comm as project of Google Summer of Code 2017. 31 | 32 | This is a new concept introduced by SCoRe lab organization. First I started to design project architecture. In this case I decided to implement two separate components as backend and frontend. In implementation phase I developed the backend initially. Drone Comm backend has RESTful APIs. These APIs expose Drone Comm services and frontend web application consumes these backend REST APIs. 33 | 34 | Nodejs is used for backend implementation and backend REST API structure built using Express Framework. I used MongoDb to persist Drone Comm data like user detail, drone detail & drone task detail. This is the setting up of Drone Comm backend. 35 | 36 | Angular 4 is used to develop frontend web application. This frontend web application has Drone Comm user interfaces. These interfaces communicate with Drone Comm Backend. 37 | 38 | Above mentioned areas are covered in this GSoC project throughout the period. 39 | 40 | ### What Covered 41 | * System architecture design 42 | * Backend services implementation 43 | * Backend services using MongoDB to retrieve and persist system data. (Used Mongoose ORM to communicate between MongoDB database and backend REST API services). 44 | * JSON Web Token(JWT) used to manage Drone Comm System authentication and authorization. 45 | * Queue based message passing pattern to notify newly added drone tasks to drone pilots implementation. 46 | * Frontend implementation including login, registration, drone create, create drone task ...etc. These UI components are implemented in frontend web application. 47 | 48 | ### What left 49 | * Drone pilots bid or response for drone tasks. 50 | * Private chat between users.(most of time private chat between drone client and drone pilots). 51 | * Do Payment through Drone Comm. 52 | 53 | ### Reference 54 | * [Nodejs Express Framework](https://expressjs.com) 55 | * [Angular 4 Framework](https://angular.io) 56 | * [Mongoose ORM](http://mongoosejs.com) 57 | -------------------------------------------------------------------------------- /GSoC-2017/Yasanka_Horawalavithana_BellyDynamic_A_Scalable_Data_Structure_To_Handle_Onlin_And_Offline_Dynamic_Graph_Objects.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | BellyDynamic: A scalable data structure to handle online and offline dynamic graph objects 3 | 4 | ## Student Info 5 | Yasanka Sameera Horawalavithana 6 | 7 | ### Project Abstract 8 | A social network evolves over time through the creation or deletion of ties among a set of actors.The volatile nature of social ties provides a strong platform to identify the dynamic network structure. This change of structural patterns can be well represented by the existence of dynamic graph objects Further, they can be enriched with the temporal information of social ties to define the recurrent subgraphs of interest. This would yield important insights about the correlation between patterns of ties in a social network. Major contribution of our study is the proposal and implementation of a scalable data structure to handle online and offline dynamic network objects. Hence, it can be used for large scale graph modeling, analysis and visualization purposes. 9 | 10 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6496645247139840) 11 | 12 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1yMrNdxqeOQFSC3YMYAsw2HHhSG_gBjWZsRj5mP4f7a0/) 13 | 14 | ### [GitHub Organization Repo](https://github.com/scorelab/BellyDynamic) 15 | 16 | ### [GitHub Personal Repo](https://github.com/SamTube405/BellyDynamic) 17 | 18 | ### [Commits during GSoC 2017](https://github.com/scorelab/BellyDynamic/commits/master) 19 | 20 | ### [Project Wiki](https://github.com/SamTube405/BellyDynamic/wiki) 21 | 22 | ### Work Summary 23 | BellyDynamic is wrapper on top of Snap: a popular graph processing framework, to capture multi-graphs. It handle dynamic updates to a graph object by maintaining all the states in a multi-graph format, annotated by node and edge level attributes. BellyDynamic was started from the scratch in my personal github repo, and consequently merged to organization github repo through PR and code reviews. The Wiki page (referred) would provide up-to-date information about the status of the project including 'How-to' articles via examples. 24 | 25 | ### What Covered 26 | - Implemented basic module structure to handle multi-graphs 27 | - Implemented basic classes to handle dynamic graphs in multi-graph format 28 | - Implemented advanced classes to create graph objects from the scratch, and load graph datasets to an object 29 | - Implemented general strategies to define user-level schemas 30 | - Implemented container structure to store both node and edge attributes 31 | - Implemented basic operations on top of graph attributes 32 | - Implemented graph structural properties including centrality metrics 33 | - Implemented automated continuous deployment strategies 34 | 35 | ### What left 36 | - Need to implement advanced graph structural properties for dynamic/ multi graphs. Current setup only considers multi-graph as a collection of graphs. Graph structural properties that have been implemented so far would capture information related to static graphs. 37 | - Need to implement a distributed data structure to handle fast dynamic graph updates. 38 | - Need to implement an efficient index structure to query annotated graph information. 39 | - Need to design a framework that supports cross-libraries (e.g. snap, networkx, igraph, Boost) 40 | 41 | ### Reference 42 | [1] Leskovec, Jure, and Rok Sosič. "Snap: A general-purpose network analysis and graph-mining library." ACM Transactions on Intelligent Systems and Technology (TIST) 8.1 (2016): 1. 43 | -------------------------------------------------------------------------------- /GSoC-2020/Thisura-Rathnayake-CodeLabz.md: -------------------------------------------------------------------------------- 1 | # CodeLabz 2 | 3 | ## Student Info 4 | 5 | * Name - Thisura Rathnayake 6 | * Email - seniyaratnayake@gmail.com 7 | * GitHub Profile - https://github.com/thisuraseniya 8 | * Medium - https://medium.com/@seniyaratnayake 9 | * Twitter - [@seniya23](https://twitter.com/seniya23) 10 | 11 | ### Project Abstract 12 | CodeLabz is a platform that provides users (organisations, individuals) to create and engage in online tutorials. It is developed using Google Firebase and Firestore as the back-end and React as the front-end library. 13 | 14 | 15 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5093865205268480) 16 | 17 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1OL881QZaRTVXZbSONo3TLast71_aFtJT/view?usp=sharing) 18 | 19 | ### [GitHub Organization Repo](https://github.com/scorelab/Codelabz) 20 | 21 | ### [GitHub Personal Repo](https://github.com/thisuraseniya/Codelabz) 22 | 23 | ### [Commits during GSoC 2020](https://github.com/scorelab/Codelabz/commits?author=thisuraseniya) 24 | 25 | ### [Project Demo Video](https://youtu.be/CzpzDsWd2G8) 26 | 27 | ### [GSoC Blog](https://medium.com/scorelab/gsoc-2020-with-score-lab-week-0-e4877d5275fc) 28 | 29 | ### Work Summary 30 | The work I did on CodeLabz during GSoC is developing the front-end components of the project. The project was developed using React and Ant Design as the design language. The UI was built in atomic components for better reusability and about 90% of the UI components are mobile-friendly as well. The most challenging part was figuring out the layouts of some pages. For example, for the page that manages the organizations a user handles, I decided to implement a dashboard-like interface which is convenient to handle all the operations of an organization. This reduces the amount of searching, navigations the user has to go through which improves the user experience. For all the interactions, the application gives feedback to the user of the state of the operations in the form of either a progress indicator or a feedback message, which also improves user experience. The most interesting and challenging part for me was implementing the collaborative editor. For that Firepad was used and I added new features to that as well. On a final note, CodeLabz turned out to be a beautiful project with great UI and UX. 31 | 32 | Live demo - [https://dev.codelabz.io/](https://dev.codelabz.io/) 33 | 34 | 35 | ### What Covered 36 | - Landing page (mobile + desktop) 37 | - User registration, log in, password reset screens (mobile + desktop) 38 | - Navbar (mobile + desktop) 39 | - Footer (mobile + desktop) 40 | - Page loading screen (mobile + desktop) 41 | - Organization management screen (organization switcher sidebar, add users, edit organization details) (mobile + desktop) 42 | - Crop images and upload component (mobile + desktop) 43 | - View tutorial page (desktop only) 44 | - Edit tutorial page (add/edit steps, add colors, real time collaboration, image scaling in the markdown) (desktop only) 45 | 46 | 47 | ### What left 48 | - Tutorial details customization 49 | - Organization public view 50 | - Tutorial Feed 51 | - HTML email 52 | 53 | 54 | ### Reference 55 | 1. [CodeLabz Live Demo](https://dev.codelabz.io/) 56 | 2. [ReactJS](https://reactjs.org/docs/getting-started.html) 57 | 3. [Ant Design](https://ant.design/docs/react/introduce) 58 | 4. [Firebase Realtime Database](https://firebase.google.com/docs/web/setup) 59 | 5. [Cloud Firestore](https://firebase.google.com/docs/firestore) 60 | 6. [Firepad](https://github.com/FirebaseExtended/firepad) 61 | 62 | 63 | -------------------------------------------------------------------------------- /GSoC-2019/Durgesh-Kumar-Tensor-Map.md: -------------------------------------------------------------------------------- 1 | # TensorMap 2 | ## Student Info 3 | * Name: Durgesh Kumar 4 | * Email: dkumar@ce.iitr.ac.in 5 | * Indian Institute of Technology Roorkee 6 | * GitHub Profile: https://github.com/orionpax00 7 | * LinkedIn Profile: https://www.linkedin.com/in/durgesh-kumar-807233157/ 8 | ### Project Abstract 9 | TensorMap is a web application that will allow the users to create machine learning algorithms visually. TensorMap supports reverse engineering of the visual layout to a Tensorflow implementation in preferred languages. 10 | 11 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5480044531548160) 12 | 13 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1-4wQ3r22sK3FPGmErRggV8VluKAT6vPdBcYka60AQVQ/edit?usp=sharing) 14 | 15 | ### [GitHub Organization Repo](https://github.com/scorelab/TensorMap) 16 | 17 | ### [GitHub Personal Repo](https://github.com/orionpax00/TensorMap) 18 | 19 | ### [Commits during GSoC 2018](https://github.com/scorelab/TensorMap/commits?author=orionpax00) 20 | 21 | ### [Project Demo Video](http://LinkToDemoVideo) 22 | 23 | ### [Project Wiki](https://github.com/scorelab/TensorMap/wiki) 24 | 25 | ### [GSoC Blog](https://medium.com/@dkumar_24145/gsoc-2019-experience-cum-getting-started-guide-39fb7c45c015) 26 | 27 | ### Work Summary 28 | I worked mainly on frontend part of the project TensorMap, with fellow gsocers where a build a functionality to create artificial neural network architecture by dragging and dropping the relevant node to the workspace from the scratch. I also contributed to the integration of preprocessing part with the frontend. 29 | 30 | ### What Covered 31 | 32 | * Create different nodes(input, hidden, output) by dropping to the workspace **:** [`PR-2`](https://github.com/scorelab/TensorMap/pull/7) [`PR-3`](https://github.com/scorelab/TensorMap/pull/9) 33 | * Link different nodes that define flow to data and model **:** [`PR-3`](https://github.com/scorelab/TensorMap/pull/20) 34 | * Group Various node to form a layer. **:** [`PR-5`](https://github.com/scorelab/TensorMap/pull/29) 35 | * Define different parameters associated with nodes and layers. **:** [`PR-3`](https://github.com/scorelab/TensorMap/pull/20) [`PR-4`](https://github.com/scorelab/TensorMap/pull/23) 36 | * Manually update and retrieve weight of links **:** [`PR-4`](https://github.com/scorelab/TensorMap/pull/23) 37 | * specify model compilation and execution configuration (like learning rate, optimizer, etc) **:** [`PR-3`](https://github.com/scorelab/TensorMap/pull/20) 38 | * View Runtime results **:** [`PR-5`](https://github.com/scorelab/TensorMap/pull/29) 39 | * Get the generated code **:** [`PR-2`](https://github.com/scorelab/TensorMap/pull/7) 40 | * Linking pre processing part with frontend **:** [`PR-6`](https://github.com/scorelab/TensorMap/pull/31) 41 | * Material-UI upload data form **:** [`PR-7`](https://github.com/scorelab/TensorMap/pull/32) 42 | * Material-UI Tabular View to view uploaded files as well as data **:** [`PR-7`](https://github.com/scorelab/TensorMap/pull/32) 43 | * Readme.md, Travis, Contributing.md **:** [`PR-1`](https://github.com/scorelab/TensorMap/pull/5) 44 | 45 | ### What left 46 | Runtime results tab is hardcoded, callback function to updated data after execution. 47 | 48 | ### Reference 49 | * [ReactJS | Frontend Framework](https://reactjs.org/) 50 | * [Material-UI | Frontend styling component library](https://material-ui.com) 51 | * [Storm React Diagrams | Flow Diagrams](https://github.com/projectstorm/react-diagrams) 52 | * [Flask | Backend Framework](https://flask.palletsprojects.com/en/1.0.x/) 53 | * [MySQL | Database](https://www.mysql.com/) 54 | -------------------------------------------------------------------------------- /GSoC-2019/Shehan-Dhaleesha-Go-social.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | TrackPal 4 | 5 | ## Student Info 6 | 7 | - Name: Shehan Dhaleesha 8 | - Email: [shehandvid@gmail.com](mailto:shehandvid@gmail.com) 9 | - University: University of Colombo School of Computing, Sri Lanka 10 | - GitHub Profile: [https://github.com/shehand](https://github.com/shehand) 11 | - LinkedIn Profile: [https://www.linkedin.com/in/shehandvid](https://www.linkedin.com/in/shehandvid) 12 | 13 | ### Project Abstract 14 | 15 | In Sri Lanka, the transportation tracking problem is a huge challenge. The passengers can't determine the current position of their transportation medium (in this case it may be bus or train) correctly. So they have to wait until it arrives at their pickup location (it may be a bus stop, bus stand or railway station). So TrackPal is the solution to this problem. Trackpal is a public based mobile application which will help users to track their transportation medium. 16 | 17 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5970850174468096) 18 | 19 | ### [GSoC Project Proposal](https://docs.google.com/document/d/184m5mgA4FLctAEl1wXBU8sU7pgaY-Je8BibP1VwDgQQ/edit?usp=sharing) 20 | 21 | ### GitHub Organization Repo 22 | 23 | - [TrackPal Repo](https://github.com/scorelab/TrackPal) - Mobile application 24 | 25 | ### [GitHub Personal Repo](https://github.com/shehand/TrackPal) 26 | 27 | ### [Commits during GSoC 2019](https://github.com/scorelab/TrackPal/commits?author=shehand) 28 | 29 | ### [Project Demo Video](https://drive.google.com/open?id=10HCShntPdY99JS23T1mV3rTgBzv-KU5q) 30 | 31 | ### [Project Wiki](https://github.com/scorelab/TrackPal/wiki) 32 | 33 | ### GSoC Blog 34 | 35 | - [Road To GSoC — 2019 with SCoRe Lab — Vol 1](https://medium.com/@sonodewcomplex/road-to-gsoc-2019-vol-1-ffb51adf73cc) 36 | - [Road To GSoC — 2019 with SCoRe Lab — Vol 2](https://medium.com/@sonodewcomplex/road-to-gsoc-2019-with-score-lab-vol-2-9bc541d6ed5e) 37 | 38 | ### Work Summary 39 | 40 | For the GSoC 2019, I've implemented the basic functionality of the moblie application. The application is implemented with react-native, so the apps for iOS and Android can be built at the same time. And unit testing for all the components in the mobile application have been done using jest. 41 | 42 | ### What Covered 43 | 44 | In TrackPal v1.0.0 (stable) 45 | 46 | - Implemented SignIn / SignUp (Facebook/Google/Email-Password). 47 | - Implemented Navigation (Bottom Tab/Drawer Navigation). 48 | - Implemented Onboarding screens / Landing screen. 49 | - Implemented Shared Bus Details / Train Details screens. 50 | - Implemented View Shared Details screen (For every individual list item in shared bus details and shared train details screens). 51 | - Implemented Share Details screen (for both train and bus details. This screen is configured with google maps). 52 | - Configure Google Maps with the application using Google Maps API. 53 | - Configured firebase with the application. 54 | - Implemented searching mechanism based on the end point of a shared transportation details. 55 | - Implemented Forget password functionality by using firebase 56 | - Buid the Android applcation for a release. 57 | 58 | ### What left 59 | 60 | - The shared route of a transportation medium should be validated using proper route details. 61 | - iOS build for the appliation should be done. 62 | - Remove duplcate entries from the shared lists. 63 | 64 | ### Reference 65 | 66 | 1. React-Native Docs - http://facebook.github.io/react-native/ 67 | 2. Google Map API - https://cloud.google.com/maps-platform/ 68 | 3. Firebase Docs - https://firebase.google.com/ -------------------------------------------------------------------------------- /GSoC-2020/shivanshu1333-OpenMF.md: -------------------------------------------------------------------------------- 1 | # OpenMF 2 | 3 | ## Student Info 4 | 5 | * Name - Shivanshu Raj Shrivastava 6 | * User Name - shivanshu1333 7 | * Email - shivanshu1333@gmail.com 8 | * GitHub Profile - https://github.com/shivanshu1333 9 | * Medium - https://medium.com/@shivanshu1333 10 | * Twitter - [shivanshu1333](https://twitter.com/shivanshu1333) 11 | 12 | ### Project Abstract 13 | OpenMF is an open-source forensic tool for Android smartphones that helps digital forensicinvestigators throughout the life cycle of digital forensic investigation. Initially it was available as a command line tool only, in GSoC'20 a web client is developed for OpenMF. 14 | 15 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4729095495090176) 16 | 17 | ### [GSoC Project Proposal](https://github.com/shivanshu1333/My-GSoC-Proposals/blob/master/GSoC'20-SCoReLab-OpenMF.pdf) 18 | 19 | ### [GitHub Organization Repo](https://github.com/scorelab/openmf) 20 | 21 | ### [GitHub Personal Repo](https://github.com/shivanshu1333/openmf) 22 | 23 | ### [Commits during GSoC 2020](https://github.com/scorelab/OpenMF/commits?author=shivanshu1333) 24 | 25 | ### [Project Demo Video](https://drive.google.com/drive/folders/1hXjU1fDdyFiTVKL2d0yx0302bxBAlr8X?usp=sharing) 26 | 27 | ### [GSoC Blog](https://medium.com/scorelab/gsoc2-all-blogs-in-one-place-77061ef6c193) 28 | 29 | ### Work Summary 30 | OpenMF is an open-source forensic tool for Android smartphones that helps digital forensicinvestigators throughout the life cycle of digital forensic investigation. Initially OpenMF was avaiable as a command line tool only, the main target for GSoC'20 was to create a web client for OpenMF. The work targeted during this period was to add support for web client for this command-line tool with additional features like Admin, Management and Extractor roles. These roles have different privileges to the tool and as a whole, it becomes a complete open-source forensic tool for Android smartphones which then can be used by any organization. 31 | The following flow chart shows the work covered during GSoC'20: 32 | ![Screenshot from 2020-05-07 13-08-47](https://user-images.githubusercontent.com/26167974/81267405-0dbf6d80-9064-11ea-83a7-693eb2689941.png) 33 | **

Work completed during GSoC'20

** 34 | 35 | ### What Covered 36 | Modify the current code base to make a strong robust command-line tool for OpenMF.
37 | Design logo and other frontend designs and components.
38 | Design and Implement a Client-side Framework for Web Client.
39 | Design and Implement Login, Admin, Management, and Extractor pages.
40 | Implementation of backend from scratch and writing different APIs in the flask framework.
41 | Extending the functionality of OpenMF to include management of files on the server.
42 | Design and implement a Database model, relation mapping (ORM) in the database to incorporate the above functionalities in MySQL using the SQLAlchemy toolkit.
43 | Write a project wiki and update the user and developer documentation.
44 | Weekly blogs on medium.
45 | 46 | ### What left 47 | Some changes in the frontend to make it more user.
48 | Design and develop a logic to implement Analysis on the cases i.e. if in Case#1 and in Case#2 we have to search for common keyword "fire", then the Analytics API should check all the dbs and find the result. More complex scenarios can be introduced.
49 | More enhanced routing of the React App to provide better user experience 50 | 51 | ### Reference 52 | [1] [scorelab/OpenMF](https://github.com/scorelab/OpenMF/)
53 | [2] [scorelab/androphsy](https://github.com/scorelab/androphsy/) 54 | -------------------------------------------------------------------------------- /GSoC-2021/05-Sandagomi-Pieris-CrawlerX-Distributed-Crawling-System.md: -------------------------------------------------------------------------------- 1 | # CrawlerX Distributed Crawling System 2 | 3 | ## Student Info 4 | * Name - Sandagomi Pieris 5 | * Email - npieris73@gmail.com 6 | * GitHub Profile - https://github.com/sandagomipieris 7 | 8 | # Project Abstract 9 | The CrawlerX is a platform that we can use for crawling web URLs in different kinds of protocols in a distributed way. Web crawling often called web scraping is a method of programmatically going over a collection of web pages and extracting data which is useful for data analysis with web-based data. With a web scraper, you can mine data about a set of products, get a large corpus of text or quantitative data to play around with, get data from a site without an official API, or just satisfy your own personal curiosity. CrawlerX was a platform designed to run on a VM-based environment with limited functionality. This project extends that limitation to the containerized environments. 10 | 11 | ![K8s with Helm](https://github.com/leopardslab/CrawlerX/blob/master/resources/helm.png) 12 | 13 | ## [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#5366481539301376) 14 | 15 | ## [GSoC Project Proposal](https://drive.google.com/file/d/1k8RGMx9kMIpFNBgz9BFh2bnJfyxLujVS/view) 16 | 17 | ## [GitHub Organization Repo](https://github.com/leopardslab/CrawlerX) 18 | 19 | ## [GitHub Personal Repo](https://github.com/sandagomipieris/CrawlerX) 20 | 21 | ## [Commits during GSoC 2021](https://github.com/leopardslab/CrawlerX/commits?author=sandagomipieris) 22 | 23 | ## Project Overview 24 | 25 | 1. Pod Deployment 26 | 27 | ![Pods](https://github.com/leopardslab/CrawlerX/blob/master/resources/helm/helm_1.png) 28 | 29 | 2. Service Deployment 30 | 31 | ![Services](https://github.com/leopardslab/CrawlerX/blob/master/resources/helm/helm_2.png) 32 | 33 | 3. Ingress Deployment 34 | 35 | ![Ingress](https://github.com/leopardslab/CrawlerX/blob/master/resources/helm/helm_3.png) 36 | 37 | 4. ConfigMap Deployment 38 | 39 | ![ConfigMaps](https://github.com/leopardslab/CrawlerX/blob/master/resources/helm/helm_4.png) 40 | 41 | # Work Summary 42 | 43 | This project mainly focuses on deploying the CrawlerX web platform on Kubernetes. As per the details provided by SCoRe organization mentors, CrawlerX needs to be deployed as an on-demand platform. Therefore, as per the investigations Helm is used to implementing the requirement. Helm helps you manage Kubernetes applications as Charts. Charts are easy to create, version, share, and publish also unpublish. Now users can deploy the CrawlerX on the K8s environment with a single command as follows. 44 | 45 | ```bash 46 | helm install --namespace --dependency-update --create-namespace 47 | ``` 48 | ![Helm Deployment](https://github.com/leopardslab/CrawlerX/blob/master/resources/helm/helm_5.png) 49 | 50 | # What Covered 51 | 52 | * Add Helm chart for CrawlerX platform 53 | * Add K8s artifacts for VueJS based frontend server deployment 54 | * Add K8s artifacts for Django backend server deployment 55 | * Add K8s artifacts for Celery beat deployment 56 | * Add K8s artifacts for Celery worker deployment 57 | * Add K8s artifacts for Scrapy crawler deployment 58 | * Add MongoDB, RabbitMQ and Elasticsearch deployments as chart dependencies 59 | * Add K8s secret artifacts to pull private images for the pods 60 | * Add ConfigMaps for each deployment 61 | * Configure values.yaml to customize deployment parameters 62 | * Documentation of the K8s deployment 63 | * Testing on Minikube local server 64 | * Testing on Google Kubernetes Engine 65 | 66 | # What left 67 | 68 | * Integrate Grafana dashboard 69 | 70 | # Reference 71 | 72 | 1. [Helm](https://helm.sh/) 73 | 2. [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine) 74 | -------------------------------------------------------------------------------- /GSoC-2018/OddCN_GoCloud_AliCloud_Vulter.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | ## Student Info 4 | 5 | - Name - OddCN ( Junqiu Zheng ) 6 | - Email - oddcn.zheng@gmail.com 7 | - GitHub profile - https://github.com/OddCN 8 | 9 | ### Project Abstract 10 | 11 | GoCloud is a standard library for Go that abstracts away differences among multiple cloud providers. Developing golang package for interacting with Google cloud, AWS, Digital Ocean, Ali-cloud, Vultr using a unified API. 12 | 13 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6225862895075328) 14 | 15 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1lCiUWSqlW1ubbF6exvuIGePvYE949f0Ep1AhP234aT4/edit?usp=sharing) 16 | 17 | ### [GitHub Organization Repo](https://github.com/cloudlibz/gocloud) 18 | 19 | ### [GitHub Personal Repo](https://github.com/OddCN/gocloud) 20 | 21 | ### [Commits during GSoC 2018](https://github.com/cloudlibz/gocloud/commits?author=OddCN) 22 | 23 | ### Project Demo Video 24 | 25 | [Ali-cloud tutorial videos](https://www.youtube.com/playlist?list=PLcDQypWNHCeiym0jmezozjQhEbe84oh-q) 26 | 27 | [Vultr tutorial videos](https://www.youtube.com/playlist?list=PLcDQypWNHCeiXMQZBmfIKTeYTWYUdWVwj) 28 | 29 | ### [Project Wiki](https://github.com/cloudlibz/gocloud/wiki) 30 | 31 | ### [GSoC Blog](https://medium.com/gocloud) 32 | 33 | ### Work Summary 34 | 35 | In GSoC 2018, I implemented Ali-cloud and Vultr support for GoCloud. And other works: GoCloud modular, builder pattern for inputting, parsing response. 36 | 37 | Support for following services of Ali-cloud were implemented: 38 | 39 | - ECS Compute 40 | - ECS Storage 41 | - Alibaba Cloud DNS 42 | - Server Load Balancer 43 | - Container Service 44 | 45 | Support for following services of Vultr were implemented: 46 | 47 | - Server 48 | - Bare Metal 49 | - Block Storage 50 | - DNS 51 | 52 | For every implementation of services/modules and functions, contains unit tests, API documentations, example documentations and getting start tutorial videos. 53 | 54 | ### What Covered 55 | 56 | #### Ali-cloud and Vultr support 57 | 58 | For Ali-cloud, developed APIs of compute, storage, container service, load balancer, DNS services. 59 | 60 | For Vultr, developed APIs of compute, storage, bare metal, DNS services. 61 | 62 | Added unit tests, API documentations, example documentations and getting start tutorial videos for implemented services of Ali-cloud and Vultr. 63 | 64 | #### GoCloud modular 65 | 66 | Achieved three goals: 67 | 68 | - way to call: `GoCloud..` 69 | - development scalable 70 | - ensure the API is uniform like before 71 | 72 | [More information](https://medium.com/gocloud/gocloud-modular-scalable-db61160138aa) 73 | 74 | #### Builder pattern for inputting parameters 75 | 76 | Achieved four goals: 77 | 78 | - Prevent user from inputting wrong parameter name 79 | - Throw an error when user miss input required parameters 80 | - Let user add parameters in different places 81 | - Let user have higher freedom, clearer code 82 | 83 | [More information](https://medium.com/gocloud/gocloud-using-builder-pattern-to-improve-user-experience-f5cc2f79c9f4) 84 | 85 | #### Parsing response 86 | 87 | Achieved two goals: 88 | 89 | - users get the response struct directly 90 | - put HTTP/HTTPS status code into response struct 91 | 92 | [More information](https://medium.com/gocloud/gocloud-work-summary-d809d11c8a14) 93 | 94 | ### What left 95 | 96 | - Additional APIs can be added as improvements 97 | - Builder pattern for more cloud providers 98 | - Parsing response for more cloud providers 99 | 100 | ### Reference 101 | 102 | [Alibaba Cloud Document Center](https://www.alibabacloud.com/help/) 103 | 104 | [Vultr API Reference](https://www.vultr.com/api/) -------------------------------------------------------------------------------- /GSoC-2019/Vibhor-Gupta-Bassa.md: -------------------------------------------------------------------------------- 1 | # Bassa: File Management and ACL 2 | 3 | ## Student Info 4 | 5 | * Name - Vibhor Gupta 6 | * Email - vibhordelgupta@gmail.com 7 | * University - Delhi Technological University 8 | * GitHub profile - https://github.com/VibhorCodecianGupta 9 | * LinkedIn profile - https://www.linkedin.com/in/vibhor-gupta-357458134/ 10 | 11 | 12 | ### Project Abstract 13 | To scale Bassa from its current use of an internet download queueing micro-service to a full-fledged file management system for uploading resources on the local server in an organised fashion of folders and directories for better maintainability. To design and develop a flow of sharing resources via custom link generation and granting varied access to users and user groups (another planned feature) based on an ACL model. The vision of the proposal is to take a leap toward a cloud-based storage service for resources, similar to existing drive services. 14 | 15 | 16 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#4645813739847680) 17 | 18 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1m3HAPvk0J_rC8NF-DVDMxxLedYYz3Yrf/view) 19 | 20 | ### [GitHub Organisation Repo](https://github.com/scorelab/Bassa) 21 | 22 | ### [GitHub Personal Repo](https://github.com/VibhorCodecianGupta/Bassa) 23 | 24 | ### [Commits during GSoC 2019](https://github.com/scorelab/Bassa/pull/818/commits) 25 | 26 | ### [Project Demo Video](http://LinkToDemoVideo) 27 | 28 | ### [Project Wiki](https://github.com/scorelab/Bassa/wiki/File-Management-System) 29 | 30 | ### Work Summary 31 | Designed and developed a full stack file management flow for users, with CRUD functionality on resources according to an ACL based permission model wherein users can share resources with other users with restricted access. The owned and shared resources are separately displayed with seamless navigation and permission granting flow. The users can also upload files to server, add folders and move resources around. The users would receive broadcasted notifications when their queued downloads are complete, their signup requests are approved and when they are granted access to some resource. 32 | 33 | ### What's Covered 34 | 1. Added models for resource entity and ACL structs. 35 | 2. Designed database relations and wrote SQL script for the same. 36 | 3. Added APIs for CRUD operations on resource entities. 37 | 4. Added endpoints for permission checks and grants. 38 | 5. Revamped the entire database and API flow according to composite design pattern. 39 | 6. Added file upload support and notification broadcasting APIs. 40 | 7. Designed a global parent and permission context stack service on the frontend to manage resource navigation. 41 | 8. Wrote services and controllers for CRUD operations on resources with permission checks and maintaining stack context on every user action (to ensure proper flow of permissions in the directory tree). 42 | 9. Wrote Notification services and pollers to fetch and save notifications. 43 | 10. Implemented Upload support on the frontend to relay multipart form-data to backend and upload it to server. 44 | 11. Wrote the boilerplate frontend for the aforementioned functions. 45 | 46 | ### What's left/ After GSoC 47 | 1. Checks on file uploads such as limits and ZIP compressions. 48 | 2. Uploading folders. 49 | 3. User group construct to better manage permission grants. 50 | 51 | ### Reference 52 | 1. [Composite Design pattern](https://refactoring.guru/design-patterns/composite) 53 | 2. [AngularJS documentation](https://code.angularjs.org/1.1.2/docs/api) 54 | 3. [Project Structure and flow](https://scotch.io/tutorials/angularjs-1-x-fundamentals-part-1#toc-supports-dependency-injection) 55 | 4. [Material library for AngularJS](https://material.angularjs.org/latest/getting-started) 56 | -------------------------------------------------------------------------------- /GSoC-2017/Kaveesha_Baddage-Bassa_Dockerize_And_Modify_Features.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | Bassa - Dockerize and modify features 4 | 5 | ## Student Info 6 | 7 | - Name :Kaveesha Baddage 8 | - Email :kbaddage98@gmail.com 9 | - GitHub Profile :https://github.com/KaveeshBaddage 10 | 11 | ### Project Abstract 12 | 13 | Bassa is an automated download queue which tries to minimize bandwidth wastage.Objectives of the project was dockerize Bassa project to simply run the project without complex configurations and fix bugs which caused to improper execution of the web application. I fixed several bugs and implemented several features in the project. 14 | 15 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/dashboard/project/4885623415504896/overview/) 16 | 17 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1qof_0eGaeYPTahNvu9YK_6TuFofjPqiaEbf7i4gOb_E/edit?usp=sharing) 18 | 19 | ### [GitHub Organization Repo](https://github.com/scorelab/Bassa) 20 | 21 | ### [GitHub Personal Repo](https://github.com/KaveeshBaddage/Bassa) 22 | 23 | ### [Commits during GSoC 2017](http://github.com/commits) 24 | 25 | - Resolving Issue #122 - Fix the bug which caused to admin panel cannot accessible after refresh the web page. 26 | - https://github.com/scorelab/Bassa/pull/134 27 | 28 | - Implement new functionality to give system running configuration using single configuration file. 29 | - https://github.com/scorelab/Bassa/pull/133 30 | 31 | - Implement Message handler function to avoid server crash when it handles multiple download requests. 32 | - https://github.com/scorelab/Bassa/pull/131 33 | 34 | - Change data tranfering method for secure data trasfer in between frontend and backend. 35 | - https://github.com/scorelab/Bassa/pull/129 36 | 37 | - Resolving Issue-#125 - Implement new feature to view current user's user name on logout menu. 38 | - https://github.com/scorelab/Bassa/pull/127 39 | 40 | *Dockerizing the project - Implemented two Dockerfiles to run frontend services and backend services and run those files using docker-compose file. This function is partially completed. 41 | https://github.com/KaveeshBaddage/Bassa/tree/Dockerizing 42 | 43 | ### [Project Wiki](https://github.com/scorelab/Bassa/wiki) 44 | 45 | 46 | 47 | ### Work Summary 48 | 49 | - Solved server crashing problem when it runs several download requests. 50 | - Solved several bugs which caused to improper execution of the web application. 51 | - Created new functionalities to enhance web application usability and performance. 52 | - Partially done the dockerizing the project 53 | 54 | ### What Covered 55 | 56 | - Resolved several bugs which caused to improper execution of the web application. 57 | - Fix authentication failure problem which caused to admin panel cannot accessible after refresh the web page. 58 | - Replace data tranfering variable types for secure data trasfer between backend and frontend 59 | 60 | - Create new functionalities to enhance web application usability and performance. 61 | - Implement Message handler function which solves server crashing problem when it runs several download requests. 62 | - Create functionality to view current user on logout menu. 63 | - Create functionality to load system configuration using a single file. 64 | 65 | ### What left 66 | 67 | Change the system routing which will support to run the system on docker containers 68 | - Implemented two Dockerfiles to run frontend services and backend services inside two containers and implemented docker-compose file to connect those containers. Have to change system routing which will support to communicate between two containers and run the system inside those containers. 69 | 70 | 71 | ### Reference 72 | 73 | - [Thread handling in python](https://docs.python.org/3/library/threading.html) 74 | - [Access Java Web Token](https://jwt.io/) 75 | - [Docker Documentation](https://docker-curriculum.com/#setup) 76 | 77 | -------------------------------------------------------------------------------- /GSoC-2022/21-Kaveesha-Dinamidu-Rewrite-ImageLab-backend.md: -------------------------------------------------------------------------------- 1 | # Rewrite ImageLab backend 2 | 3 | ## Student Info 4 | 5 | - Name - Kaveesha Dinamidu 6 | - Email - [kaveesha.19@cse.mrt.ac.lk](kaveesha.19@cse.mrt.ac.lk) 7 | - GitHub Profile - [kaveeshadinamidu](https://github.com/kaveeshadinamidu) 8 | - Medium - [@kaveesha.19](https://medium.com/@kaveesha.19) 9 | 10 | # Project Abstract 11 | 12 | ImageLab is a standalone tool which supports anyone to get started with image processing related concepts and techniques in an interactive, less logical way. ImageLab electron project is a 13 | cross-platform application containing image processing functions that are associated with 14 | OpenCV. This application enables any user to test and implement image processing functions and 15 | get an idea about image processing. 16 | 17 | ## [GSoC Project Page](https://summerofcode.withgoogle.com/programs/2022/projects/9njzCFJk) 18 | 19 | ## [GSoC Project Proposal](https://drive.google.com/file/d/1rdi8WWZB8QI322vNQpXUZQx8dZ-ItCbh/view?usp=sharing) 20 | 21 | ## [GitHub Organization Repo](https://github.com/scorelab/imagelab) 22 | 23 | ## [GitHub Personal Repo](https://github.com/kaveeshadinamidu/imagelab) 24 | 25 | ## [Commits during GSoC 2022](https://github.com/scorelab/imagelab/commits?author=kaveeshadinamidu) 26 | 27 | ## [Project Demo Video](https://drive.google.com/file/d/1vN04vmGKFcaNro7UmoDF8c5tJ19boRpR/view?usp=sharing) 28 | 29 | # Work Summary 30 | 31 | Integrated the image proccessing functions in the UI with the backend functions. Here opencvjs is used to implement the image processing functions. All the functions and the controllers are implemented in the most prominent way using classes and objects. As well as functionality added to the user interface elements (execute, reset, delete). 32 | 33 | - Discussed about the approach to implement the image processing functions. 34 | - Implement the functions for the image processing and integrated them with the user interface. 35 | - Test the implemented functions and fix the raised bugs. 36 | - Discussed about the issues faced during the development with the mentors. 37 | - Demonstrating the work done and attending meetings with the mentors. 38 | - Test the whole project and fix the raised bugs. 39 | 40 | # What Covered 41 | 42 | - Implement the functionality of the user interface elements. 43 | - Execute, Reset and Delete functionality in the workspace. 44 | - Implemented the image proccessing functions 45 | - Basic operations 46 | - Read Image 47 | - Write Image 48 | - Geometric operations 49 | - Rotate Image and Resize 50 | - Affine Image 51 | - Scale image 52 | - Drawing operations 53 | - Draw line 54 | - Draw ellipse 55 | - Draw circle 56 | - Draw rectangle 57 | - Draw text 58 | - Blurring operations 59 | - Apply blur 60 | - Gaussian blur 61 | - Median Blur 62 | - Filtering operations 63 | - Bilateral Filter 64 | - Pyramid up 65 | - Box filter 66 | - Pyramid down 67 | - Erosion 68 | - Dilation 69 | - Morphological filter 70 | - Integrated the operator details interface with the functions. 71 | - Added the validations related with the operators and their flow. 72 | - Operation execution mechanism added. 73 | - Operation binding mechanism added according to the block order. 74 | - Code refactored and commented. 75 | - Documentation updated. 76 | 77 | # What left 78 | 79 | - Implement the other image proccessing functions. 80 | - Implement the functions related with the workspace (Undo/Redo). 81 | - Implement the workspace save,open functions. 82 | 83 | # References 84 | 85 | - [OpenCV.js](https://docs.opencv.org/3.4/d0/d84/tutorial_js_usage.html) 86 | - [Electron Js](https://www.electronjs.org) 87 | - [OOP in JS](https://www.geeksforgeeks.org/introduction-object-oriented-programming-javascript/) 88 | - [OpenCV in Java](https://docs.opencv.org/4.x/d9/d52/tutorial_java_dev_intro.html) 89 | -------------------------------------------------------------------------------- /GSoC-2019/Devon-Wijesinghe-Fact-Bounty.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | Fact Bounty - Web Application 4 | 5 | ## Student Info 6 | 7 | * Name - Devon Wijesinghe 8 | * Email - wdevon99@gmail.com 9 | * University - Informatics Institute of Technology, Sri Lanka 10 | * GitHub profile - https://github.com/wdevon99 11 | * LinkedIn profile - https://www.linkedin.com/in/devon-wijesinghe 12 | 13 | ### Project Abstract 14 | 15 | The Fact Bounty project is intended to solve the issue of the spread of fake news by using crowdsourcing to identify the validity of content posted in social platforms. The Fact Bounty project contains three main sub-projects, the Web Apllication (which is the main point of user interaction), the Flask Backend (the api which is consumed by the web app) and the Web crawlers (which is used to web scrape the news items). I was mostly invloved in contributing to the the Fact Bounty Web App! 16 | 17 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6151883448647680) 18 | 19 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1AOJtRl8ZouNxeXw5BhjtaG-Z09-8qjT0m3F3s29OjDY/edit?usp=sharing) 20 | 21 | ### [GitHub Organization Repo](https://github.com/scorelab/fact-Bounty) 22 | 23 | ### [GitHub Personal Repo](https://github.com/wdevon99/fact-Bounty) 24 | 25 | ### [Commits during GSoC 2019](https://github.com/scorelab/fact-Bounty/commits?author=devon@Devons-MacBook-Pro.local) 26 | 27 | ### [Project Wiki](https://github.com/scorelab/fact-Bounty/wiki) 28 | 29 | ### Work Summary 30 | 31 | During the GSOC period, I have covered almost all of the milestones discussed with the mentors initially. 32 | The main milestones achieved were: 33 | 34 | - Making Web app more scalable and stable 35 | - Deploying the full stack in Google Cloud 36 | - Testing Crawlers and the overall functinality 37 | - Creating UI for landing page and implementing 38 | - Implementing Advanced keyword search and creating Kibanna Visualisations 39 | 40 | 41 | ### What Covered 42 | 43 | The following are the tasks I completed: 44 | 45 | - Refactored the web client to make it more scalable and more consistent 46 | - Creating the initial deployment of the whole project including web front end, the flask api and the web crawlers, elastic search and kibana in a GCloud compute engine 47 | - Testing Crawlers and documenting issues 48 | - Created basics plots in kibana using the data stored in elastic search from the web crawlers 49 | - Created Wireframes and designs for Landing page, post list page, post details page ect.. 50 | - Implemented full landing page 51 | - Made the web client to utilize refresh tokens and refactored auth state handling 52 | - Refactored the post list to show real news posts stored in elastic search and fixed infinite scroll issues and made the post list component reusable 53 | - Implemented the post detail page 54 | - Implemented Contact Us form and configured SMTP server 55 | - Fixed voting system 56 | - Created Dashboard views 57 | - Implemented advanced keyword search 58 | - Added Kibana Visualisations to the Fact Bounty Web App 59 | 60 | ### What left 61 | 62 | The following are the tasks I could not not complete within the GSOC period: 63 | 64 | - Replacing landing page text with proper content 65 | - Dockerization on deployment 66 | 67 | ### Reference 68 | 69 | - Kibana: [https://www.elastic.co/guide/en/kibana/current/getting-started.html](https://www.elastic.co/guide/en/kibana/current/getting-started.html) 70 | - Elastic Search: [https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html) 71 | - React Material UI: [https://material-ui.com/](https://material-ui.com/) 72 | - Redux: [https://redux.js.org/introduction/getting-started](https://redux.js.org/introduction/getting-started) 73 | - React Router: [https://reacttraining.com/react-router/](https://reacttraining.com/react-router/) 74 | -------------------------------------------------------------------------------- /GSoC-2021/04-Beshiniii-CrawlerX-Develop-Extensible-Distributed-Scalable-Web-Crawling-System.md: -------------------------------------------------------------------------------- 1 | # CrawlerX - Extensible, Distributed, Scalable Crawler System 2 | 3 | ## Student Info 4 | * Name - Beshini Ekanayake 5 | * Email - beshiniii13@gmail.com 6 | * GitHub Profile - https://github.com/beshiniii 7 | 8 | # Project Abstract 9 | Web scraping is usually called web crawling, which is a method of programmatically traversing a collection of web pages and extracting data that is useful for data analysis on web-based data. As of the current project, the CrawlerX is a platform which we can use for crawling web URLs in different kinds of protocols in a distributed way. Web crawling often called web scraping is a method of programmatically going over a collection of web pages and extracting data which is useful for data analysis with web-based data. With a web scraper, you can mine data about a set of products, get a large corpus of text or quantitative data to play around with, get data from a site without an official API, or just satisfy your own personal curiosity. 10 | 11 | ![CrawlerX - Architecture Diagram](https://github.com/leopardslab/CrawlerX/blob/master/resources/abstract_architecture.jpg) 12 | 13 | ## [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6734219864178688) 14 | 15 | ## [GSoC Project Proposal](https://drive.google.com/file/d/1Vv7Iwe3wi1Vx48u72aHHV7gI3n7fPMWu/view) 16 | 17 | ## [GitHub Organization Repo](https://github.com/leopardslab/CrawlerX) 18 | 19 | ## [GitHub Personal Repo](https://github.com/beshiniii/CrawlerX) 20 | 21 | ## [Commits during GSoC 2021](https://github.com/leopardslab/CrawlerX/commits?author=beshiniii) 22 | 23 | ## Project Overview 24 | 25 | 1. Implemented CrawlerX Dashboard 26 | 27 | ![Dashboard](https://github.com/leopardslab/CrawlerX/blob/master/resources/dashboard.png) 28 | 29 | 2. Job Scheduler 30 | 31 | ![Scheduler](https://github.com/leopardslab/CrawlerX/blob/master/resources/job_schedule.png) 32 | 33 | 3. [Documentation](https://github.com/leopardslab/CrawlerX/blob/master/README.md) 34 | 35 | # Work Summary 36 | For the GSoC 2021, I have improved the current status of the CrawlerX platform which is an extensible, distributed, scalable crawler system for its end-users. Previous it had only one option to schedule a crawl job which is as an instant scheduler. Also, it had multiple limitations since it was implemented in a very complex way. During GSoC 2021 in the abstract, I integrated the Django-celery-beat and worker extensions to the backend server and now it is capable of scheduling jobs in three ways; as instant, as interval and as cron schedulers. Also, it has support to enable disable the running schedule tasks and delete unwanted data from the platform. Also, in the case of previewing data, it supports copy data and downloads data as a JSON option to export crawled data to external usages. 37 | 38 | # What Covered 39 | 40 | * Integrate Celery Beats to the CrawlerX project to store the periodic task schedule in the database. 41 | * Integrate Celery workers to execute scheduled tasks from the database. 42 | * Integrate RabbitMQ broker as the celery database to store schedule tasks. 43 | * Add API endpoints to schedule crawl jobs. 44 | * Introduce Instant Scheduler to schedule tasks instantly. 45 | * Introduce Interval Scheduler to schedule tasks as period tasks. 46 | * Introduce Cron Scheduler to schedule tasks as cron jobs. 47 | * Add feature to delete running and completed crawl tasks. 48 | * Add feature to disable and enable running schedule tasks. 49 | * Add option to export the crawled data as a JSON file. 50 | * Improve UI design of the CrawlerX dashboard. 51 | * Add environment variable to configure project. 52 | * Updating docker-composer file to deploy the CrawlerX on Docker. 53 | 54 | # What left 55 | 56 | * Crawl Tor based URLs. 57 | 58 | # Reference 59 | 60 | 1. [VueJS](https://vuejs.org/) 61 | 2. [Celery](https://github.com/celery/django-celery-beat) 62 | -------------------------------------------------------------------------------- /GSoC-2020/Devon-Wijesinghe-Webiu.md: -------------------------------------------------------------------------------- 1 | # Webiu - Generalized Website Builder Components using Gatsby JS 2 | 3 | ## Student Info 4 | 5 | * Name - Devon Wijesinghe 6 | * Email - wdevon99@gmail.com 7 | * University - Informatics Institute of Technology, Sri Lanka 8 | * GitHub Profile - https://github.com/wdevon99 9 | * Medium - https://medium.com/@wdevon99 10 | * LinkedIn Profile - https://www.linkedin.com/in/devon-wijesinghe 11 | 12 | ### Project Abstract 13 | Building and maintaining a website is an essential task for any business or organization. This project aims to ease the workflow of getting a website up and running by developing a “generalized website builder”, with the help of the Gatsby Js Framework. The individuals would be able to utilize this generalized platform to plug-in required modules and configure the datasource as per requirements to build custom websites for their organizations. 14 | The built website builder will be used to to fully migrate https://www.scorelab.org/, the current Score Lab website to Gatsby Js and also migrate all the data into an easily maintainable datasource. The new website would be a highly refined version of the current site in terms of the look and feel and the maintainability. 15 | 16 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6599513503956992) 17 | 18 | ### [GSoC Project Proposal](https://docs.google.com/document/d/1UFa9q2EWyDtmb-9smqPck-9xuYDY0StIa74ebEHMc7U/edit?usp=sharing) 19 | 20 | ### [GitHub Organization Repo](https://github.com/scorelab/Webiu) 21 | 22 | ### [GitHub Personal Repo](https://github.com/wdevon99/Webiu) 23 | 24 | ### [Commits during GSoC 2020](https://github.com/scorelab/Webiu/commits/master?author=wdevon99) 25 | 26 | ### [GSoC Blog](https://medium.com/@wdevon99) 27 | 28 | ### Work Summary 29 | During the GSOC period, I have covered almost all of the milestones discussed with the mentors initially. The main milestones achieved were: 30 | - Requirement refinement with mentor 31 | - Designing the architecture 32 | - Creating Wireframes / User Interfaces (UI) for templates 33 | - Developing the Generalized website builder 34 | - Migrating ScoreLab and Leopard Labs websites 35 | - Documentation 36 | 37 | ### Whats Covered 38 | The following are the tasks I completed: 39 | - Created Base Webiu Project 40 | - Configured Costumizable theme and style variables file 41 | - Implementated Baic Layout components which are reusable (eg: Header, NavBar and Footer Component) 42 | - Implementated reusable Medium Feed Rendering component 43 | - Implementated reusable Project List Rendering component 44 | - Implementated reusable Publications List Rendering component 45 | - Implementated reusable component to extract and render a public google mailing list 46 | - Implementated reusable component which uses the Gitter API to extract and render the list of Gitter Rooms for a given Organziation 47 | - Implemented a reusable SEO component which will optimize a sites online visibility 48 | - Documentation on the reusable components 49 | - Created Score Labs Site using Webiu Component 50 | - Migrated ScoreLabs Site Markdown Data to new Site 51 | - Created Leopard Labs Site using Webiu Component 52 | - Implementated GRAPHQL quries to extract data from Markdown files 53 | - Create custom page genration script to create project detail pages for each Score Labs / Leopard Labs project 54 | 55 | ### Whats left 56 | The following are the tasks I could not not complete within the GSOC period: 57 | - Implementation of Github Timeline Component 58 | - Implementation of Github Org Member List Component 59 | - Creation and Publising a NPM package for Webiu 60 | 61 | ### Reference 62 | - [GatsbyJs Docs](https://www.gatsbyjs.org/) 63 | - [Antd Docs](https://ant.design/components/overview/) 64 | - [Gitter Api](https://developer.gitter.im/docs/welcome) 65 | - [Github Apii](https://developer.github.com/v3/) 66 | - [RSS Feed Blog](https://rss.com/blog/rss-feed-for-blog/) 67 | - [ReactJs Docs](https://reactjs.org/docs/getting-started.html) 68 | 69 | -------------------------------------------------------------------------------- /GSoC-2020/Vinuri BandarCommunity-Dictionary-A-crowd-sourced-multilingual-dictionary.md: -------------------------------------------------------------------------------- 1 | # Community Dictionary - A crowd-sourced multilingual dictionary 2 | 3 | ## Student Info 4 | 5 | * Name - Vinuri Bandara 6 | * Email - vinugayanthika@gmail.com 7 | * GitHub Profile - https://github.com/VinuriBandara 8 | * Medium - https://medium.com/@vinugayanthika 9 | * Twitter - []() 10 | 11 | ### Project Abstract 12 | This project focuses on developing a crowd-sourced dictionary which will support the English language as well as multiple other languages. The dictionary will provide the users with a platform containing concise definitions along with examples on the usage of words, in multiple languages. 13 | 14 | Community Dictionary includes words/terms from multiple languages, representing multiple categories. Each word is defined along with an example of each word's usage. These words, definitions and examples can be added in any language the user desires. The users have the facilities to search through the dictionary fast and easily. The users are able to comment on how accurate the given definitions are to ensure reliability. If any user who is not happy or disgreeing with a word or a definiton has the ability to report it to the community for review. 15 | 16 | ### [GSoC Project Page](https://summerofcode.withgoogle.com/projects/#6003087300362240) 17 | 18 | ### [GSoC Project Proposal](https://drive.google.com/file/d/1x3jDJhMk6QYuam9RLDiq8Q241LL6Yhf6/view?usp=sharing) 19 | 20 | ### [GitHub Organization Repo](https://github.com/scorelab/com-dictionary) 21 | 22 | ### [GitHub Personal Repo](https://github.com/VinuriBandara/com-dictionary) 23 | 24 | ### [Commits during GSoC 2020](https://github.com/scorelab/com-dictionary/pulls?q=is%3Apr+is%3Aclosed+author%3AVinuriBandara) 25 | 26 | ### [Project Demo Video](https://drive.google.com/drive/folders/1NR8BiUEQ1sj5FXew4iZdFTa0Co1iMJKe?usp=sharing) 27 | 28 | ### [GSoC Blog](https://medium.com/@vinugayanthika/all-my-gsoc-memories-8d9d3d1f8950?source=friends_link&sk=4bd8656c99bf1bf11575361d7ecd8487) 29 | 30 | ### Work Summary 31 | For GSoC 2020, in the first coding phase i focused on communicating with my mentors and the fellow developer in order to build the initial plan for the community dictionary. Since the community dictionary was an idea level project, the base plan was an important step in the implenetation phase. When we moved onto the actual coding i mainly focused on user interfaces, usability and user experience. The implementation was carried out using ReactJS and Ant Design. Improving the usability and the attractiveness of an every-day dictionary proved to be hard since the begining. It was important to remeber that almost every person is familiar with a dictionary, so out main target was to bring the real-life metaphors into the actual final product. 32 | 33 | Apart from real-life analogies we incorporated, one of the main functionalities of the community dictionary is the ability given to the user for commenting and reporting a word (based on some rules and regulations). For the users ,who are more interested in words we added a word of the day fucntionality and trending words functionality. To imporve the usability and easiness of browsing through the dictionary, the platform includes a alphabetical index, categorical view and a search functionality. 34 | 35 | ### What Covered 36 | * Trending words and Word of the day. 37 | * User registration and logins. 38 | * Alphabetical indexing and search. 39 | * Comment and report words. 40 | * Adding new words and translations. 41 | 42 | Deployed - [Community Dictionary](https://community-dictionary-dev.firebaseapp.com/) 43 | 44 | ### What left 45 | * Community dictionary users and moderator communication functionality. 46 | * User statistics and user involvement tracking. 47 | 48 | ### Reference 49 | 1. [Ant Design components](https://ant.design/components/overview/) 50 | 2. [CSS animations](https://codepen.io/malavigne/full/grQGJd) 51 | 3. [Vector illustrations](https://icons8.com/illustrations/style--pablo-1) 52 | --------------------------------------------------------------------------------