S-Chain - Blockchain Based Tracking System

Google Summer of Code 2020


Welcome to the SCoRe Lab Google Summer of Code (GSoC) 2020 project ideas page. We are a dynamic and enthusiastic nonprofit research group pioneering in Internet of Things (IoT), Embedded Systems, Computer Security, Software Tools and 'Wireless Adhoc and Sensor Networks' and is one of the best groups in South Asia. This is the 5th time that we are participating in the GSoC, we will use this page to develop possible project ideas that have on the above mentioned areas. Please note that anyone who is interested can participate in this process. You do not have to be a GSoC student or mentor to suggest possible project ideas. You can also talk to us about possible project ideas and we are happy to improve or heip you with them. Please keep in mind that projects need to be realistically something that is able to be functionally completed by a student working full time for about eight weeks. Thanks!

Mailing list: score-community@googlegroups.com

Gitter Channel: https://gitter.im/scorelab/

Suggested Proposal Template

Important Guidelines on Submitting Ideas

There are some important guidelines to submit ideas, please read these carefully before adding your ideas;:

  • There is a fixed time period for implementing and coding your ideas.
  • Come up with attainable goals and you will be able to complete what you set out to do. You can always contact our mentors and community and get an idea about the workload and whether you might be able to complete them.
  • You are free to come up with your own ideas. The ideas should be about Internet of Things (IOT), Embedded Systems, Computer Security, Software Tools and 'Wireless Adhoc and Sensor Networks’. Also if you love to work on any of these subjects but do not have an idea you can always contact us.
  • Lets Talk! The best way to solve problems that you might have is to contact our mentors and also our community. This will help you to not get bogged down in your ideas and to move on.
  • We encourage you to do documentation so that we can keep track of your progress and also help you if things are not going according to plan. Although not compulsory we have a strong belief that this method can cut down your time to code and also the workload of the mentors drastically.

Project list for GSoC 2020

  • NodeCloud - Rackspace Provider

    Rackspace Provider is another key provider which we are missing at the moment. Student has a bigger task to do here as Rackspace does not offer their own NodeJS SDK. What they offer is pkgcloud binding for Rackspace. Student will have to implement the NodeSDK using REST API and will have to use the developed SDK to support Rackspace provider for Nodecloud.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: nodejs, rackspace, rest
    Github: https://github.com/cloudlibz/nodecloud
    Possible Mentors: Rumesh Hapuarachchi, Rajika Imal
  • NodeCloud - Digital Ocean Provider

    Digital Ocean is a key cloud provider. However current D.O. NodeJs wrapper is not actively maintaining. Therefore this project is a two part project. First you have to identify what are key components already developed in current wrapper and take necessary actions to implement the rest. Next part is using the developed SDK to implement following in the NodeCloud.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: nodejs, digital-ocean
    Github: https://github.com/cloudlibz/nodecloud
    Possible Mentors: Rumesh Hapuarachchi, Rajika Imal
  • NodeCloud - Ali Cloud Provider

    Ali-cloud is a rising cloud provider in the cloud arena. Currently, NodeJS only supports only AWS and GCP. Students task is to implement the major services of Ali-cloud in the NodeJS. The student will have to discuss with mentors for the potential project scope as implementing entire provider will be a bigger task and may require multiple students.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: nodejs, ali-cloud
    Github: https://github.com/cloudlibz/nodecloud
    Possible Mentors: Rumesh Hapuarachchi, Rajika Imal
  • Go Cloud - Rustcloud Architecure

    Rustcloud is a rust library which hides differences between different cloud providers(AWS,GCP etc) APIs and allows you to manage different cloud resources through a unified and easy to use API. This project is need to develop from scratch. You have to design the architecture of rustcloud. The student will have to discuss with mentors for the potential project scope as implementing entire provider will be a bigger task and may require multiple students. we want to add implantation of following services of cloud provider into rustcloud.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: golang, rustcloud
    Github: https://github.com/cloudlibz/gocloud
    Possible Mentors: Pratik Dhanave
  • Go Cloud - Rackspace Provider

    Rackspace is a rising cloud provider in the cloud arena. Currently, GoCloud only supports only AWS and GCP. Students task is to implement the major services of Rackspace in the GoCloud. The student will have to discuss with mentors for the potential project scope as implementing entire provider will be a bigger task and may require multiple students.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: golang, rackspace
    Github: https://github.com/cloudlibz/gocloud
    Possible Mentors: Pratik Dhanave
  • Go Cloud - Openstack Provider

    Openstack is a rising cloud provider in the cloud arena. Students task is to implement the major services of Rackspace in the GoCloud. The student will have to discuss with mentors for the potential project scope as implementing entire provider will be a bigger task and may require multiple students.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: golang, openstack
    Github: https://github.com/cloudlibz/gocloud
    Possible Mentors: Pratik Dhanave
  • Go Cloud - Extending Digital Ocean Provider

    Digital Ocean cloud is a rising cloud provider in the cloud arena. Students task is to implement the major services of Rackspace in the GoCloud. The student will have to discuss with mentors for the potential project scope as implementing entire provider will be a bigger task and may require multiple students.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: golang, digital-ocean
    Github: https://github.com/cloudlibz/gocloud
    Possible Mentors: Tharindu, Malith
  • Go Cloud - Azure Provider

    Microsoft Azure is a highly used cloud provider in the cloud arena. Currently, GoCloud only supports only AWS and GCP. The student's task is to implement the major services of Azure in GoCloud. The student will have to discuss with mentors for the potential project scope as implementing the entire-provider will be a bigger task and may require multiple students.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: golang, Azure
    Github: https://github.com/cloudlibz/gocloud
    Possible Mentors: Pratik Dhanave
  • Go Cloud - Ali Cloud Provider

    Ali cloud is a rising cloud provider in the cloud arena. Students task is to implement the major services of Rackspace in the GoCloud. The student will have to discuss with mentors for the potential project scope as implementing entire provider will be a bigger task and may require multiple students.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: golang, ali-cloud
    Github: https://github.com/cloudlibz/gocloud
    Possible Mentors: Pratik Dhanave
  • Go Cloud - Extending AWS and GCP cloud Provider

    AWS and GCP a rising cloud provider in the cloud arena. Currently, GoCloud only supports only AWS and GCP. Students task is to implement the major services of Rackspace in the GoCloud. The student will have to discuss with mentors for the potential project scope as implementing entire provider will be a bigger task and may require multiple students.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: golang, aws, gcp
    Github: https://github.com/cloudlibz/gocloud
    Possible Mentors: Pratik Dhanave
  • Clocal GCP - Services

    Here the task is to implement the emulation services for below Google Cloud platform products. These has to be implemented as individual services as docker containers, so that in a later phase these will be used as plugins for clocal gcp core CLI application. And students are free to choose the technology stack they are most familiar with to implement the emulation services.But NodeJS and python are preferred.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: node.js, docker, general idea of gcp cloud and services.
    Github: https://github.com/cloudlibz/clocal-gcp
    Possible Mentors: Rumesh Hapuarachchi, Rajika Imal, Dilantha Prasanjith
  • Clocal GCP - Core

    Clocal GCP can be separated into core CLI application and a list of providers. Currently it resides in the same repository but having separate docker containers. Student can discuss the best approaches with the mentors and start implementing. What is expected is a well written CLI application which can be integrated with plugins. For an example a user can install the clocal GCP cli application and add separate plugins as necessary. example - Cloud Function plugin. This task involves creating the core CLI application and converting existing cloud emulation services to plugins. And adding the below services as plugins.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: node.js, docker, general idea of gcp cloud and services.
    Github: https://github.com/cloudlibz/clocal-gcp
    Possible Mentors: Rumesh Hapuarachchi, Rajika Imal, Dilantha Prasanjith
  • Clocal Azure Services

    Clocal Azure is an emulation engine for azure services. The student is expected to identify the azure services which is practical to apply on Clocal Azure and implement the services. New services are expected from the student to implement. Later on, the student is expected to update the existing services and implement more features on the existing services. When implementing new services, student is free to propose any service with the approval of the mentor to implement during the period. Below are few suggested services.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: node.js, docker, general idea of azure cloud and services.
    Github: https://github.com/cloudlibz/clocal-azure
    Possible Mentors: Rumesh Hapuarachchi, Rajika Imal, Lakindu Gunasekara
  • Dunner - Implement features in Dunner v3.0.0 roadmap

    Implement features in milestone v3.0.0 in developer road map of Dunner project. This includes developing and implementing test cases, documents, CI/CD and improving existing feature implementations and writing new test cases to make the implementations rock solid.

    Expected Results: Completion of the development milestone v3.0.0 listed in the project.
    Required Knowledge: Docker, Golang, CI/CD, Knowledge is OS, bash , sh might come handly
    Github: https://github.com/leopardslab/dunner/milestone/4
    Possible Mentors: Milindu Kumarage, Rumesh Hapuarachchi, Pratik Dhanave, Rajika Imal
  • NodeCloud - Implement development roadmap

    Implement milestones in developer road map of NodeCloud project. This project includes developing and implementing test cases for new plugins and improving existing plugin implementations and writing new test cases to make the implementations rock solid.

    Expected Results: Completion of the development milestones listed in the project.
    Required Knowledge: node.js, general idea of cloud providers and services.
    Github: https://github.com/cloudlibz/nodecloud
    Possible Mentors: Rumesh Hapuarachchi, Pratik Dhanave, Rishabh Singh, Amrita Chaturvedi, Rajika Imal
  • Anzen - A sandbox test suite for testing CLI applications

    CLI applications can perform various operations such as network calls, file system reads / writes. CLI applications should be tested in different environments to make sure the intended functionality works as expected. Current software development adopts containers to create different testing environments. Similarly CLI applications can make use of containers to test the functionalities, specially the ones which do intense I/O operations. Thus a testing suite based on containers can be useful for testing CLI applications. Further this can be run in a CI environment along with the unit and integration tests. Example - $ anzen --env=dockerfile myCliApp arg1 arg2. This would run the command line application in the specified docker environment using the dockerfile (This can be configured differently).

    Expected Results: Implementation of a Docker based test suite tool for CLI applications
    Required Knowledge: Rust, Docker, command line applications
    Github: https://github.com/leopardslab/anzen
    Possible Mentors: Rajika Imal
  • Ukiyo - A push based container update tool

    Tools such as Watchtower, and Ouroboros provide mechanisms to update containers primarily in intervals. Above mentioned tools use a pull based method to check updates from the Docker registry and update running containers. With a push based approach using webhooks from docker hub, the flexibility of configuring Docker tags can be improved with a novel implementation. References - https://github.com/containrrr/watchtower, https://github.com/pyouroboros/ouroboros

    Expected Results: Implementation on the pull based engine to subscribe to webhooks and update running containers.
    Required Knowledge: Go lang, Docker, Docker swarm, Docker Hub
    Github: https://github.com/leopardslab/Ukiyo
    Possible Mentors: Rajika Imal
  • S-Chain - Blockchain Based Tracking System

    S-Chain is a food origin/transport tracking application on top of blockchain. If you buy a pack of Tea from a Shop there is no option to find or guarantee the origins of the tea leafs that made them who processed them and all sort of other details. Even if we do so there is no way we can do so without a central authority. But due to the emergence of the block chain we can do all above without a central governing body. What we provide is the implementation of the blockchain technology for this process by using our available S-Chain platform. This software platform, has implemented this blockchain-enabled traceability using Hyperledger Sawtooth. So the customer can authenticate the origin of the product.

    Expected Results: Implementing Hyperledger Sawtooth Blockchain base backend API. Mobile App to add tracking data, Admin dashbord.
    Required Knowledge: Hyperledger Sawtooth. Python, NodeJs, ReactJs, React Native
    Github: https://github.com/leopardslab/S-Chain
    Possible Mentors: TBD
  • Raven - Highly available and scalable cloud-native API monitoring tool

    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.

    • Uptime
    • Response time
    • Latency

    Further region-based monitoring can be implemented to provide drilled down results for the metrics mentioned above.

    Expected Results: Implementing authentication module. APis for spaces, targets and metrics. Report generation for metrics. Unit testing.
    Required Knowledge: Go Programming Language, Docker, AWS
    Github: https://github.com/leopardslab/3Mon
    Possible Mentors: Rajika Imal
  • Projects for expressPython

    expressPython is a Python code editor designed to be a valuable companion application for learning and competitive programming.

    Expected Results:
    • Currently, the parser is written as a set of regular expressions, we want to try and write an ANTLR parser.
    • Auto-completion is also rather primitive, we will need to try and implement Jedi based auto-completion.
    • Valgrind/Address Sanitizer/Thread Sanitizer/.. Can be used to check for memory issues/thread issues. This requires getting this to compile on a Linux machine.

    Required Knowledge: Rewrite the parser and syntax highlighter, Support Jedi Autocomplete feature, Travis CI (Window and MacOS)
    Github: https://github.com/leopardslab/expressPython/projects/1
    Possible Mentors: Bhathiya Perera(JaDogg)
  • OpenMF - Create web clinet for OpenMF

    OpenMF is an opensource forensic tool for Android smartphones that helps digital forensic investigator throughout the life cycle of digital forensic investigation. Services provided by Androphsy includes.

    • Digital forensic case and evidence management
    • Raw data acquisition – physical acquisition and logical – file system level acquisition
    • Meaningful evidence extraction and analysis support
    • Evidence presentation

    Expected Results:
    • Create web clinet for OpenMF
    • Test the implementation
    • Write documentation

    Required Knowledge: Python, Android
    Github: https://github.com/scorelab/OpenMF
    Possible Mentors: TBA
  • Decentralized Access Manager for Industrial IoT

    There are multiple stakeholders engaging in IIoT systems. For example in the energy and power industry energy prosumers, consumers, regulators, traders, and community are few of the stakeholders taking part. These stakeholders must trust each other to carry out business processes smoothly and it will maximize the profit and efficiency of the entire industry. Currently, access control in IIoT systems is based on centralized approaches that introduce extra friction during interoperability. The objective of this project is to implement a decentralized access control mechanisms based on smart contracts to take over the control of asset management from central parties.

    Expected Results: We will identify the main milestones during the initial study and that needed to be implemented during the summer. The deliverable would be the working smart contract implementation of the access control system along with the Wiki documentation.
    Required Knowledge: Go Programming Language, NodeJS Docker, Basic Blockchain knowledge, Hyperledger Fabric
    Github: https://github.com/scorelab/
    Possible Mentors: Tharindu Ranathunga, Pratik Dhanave
  • Senz - Create a Node.js module for senz clients

    Implement a Node.js module to use in node.js applications to give the ability to act as a Senz device and communicate with the Senz server. The module should work as a message parser between the application and the server.

    Expected Results: At the end of your summer, we expect that you will create a node.js module.. And users should be able to install and use the module in their node.js projects to communicate with the Senz server.
    Required Knowledge: Node.js, Scala
    Github: https://github.com/scorelab/senz
    Possible Mentors: Sumedhe Dissanayake
  • Tor Scraper - Hidden service crawler

    Tor Scraper is a, tor hidden service crawler. Its start crawling given seeds list. In this project you need to develop interactive new user interface for tor scraper.

    Expected Results:
    • Add admin interface to torscaper
    • Add user management module to torscaper
    • Add craweler progress monitoring interface

    Required Knowledge: Python, Elasticsearch, Flask, Docker, React JS, Kibana
    Github: https://github.com/scorelab/tor-scraper
    Possible Mentors: TBD
  • CrawlerX - Develop Extensible, Distributed, Scalable Crawler System

    In this project you need develop a Extensible, Distributed, Scalable Crawler System using following technologies Python, Scrapy, Beautifulsoup, Mongodb, Elasticsearch, Celery, Flask, Docker, Kubernetes, React JS, Kibana. Its alos need to support multipale proxies (tor and https).

    Expected Results:
    • Implement Extensible, Distributed, Scalable Crawler accoding to the provided design
    • Deploy crawler in cloud environment in singel command
    • Test system thousend of seed urls

    Required Knowledge: Python, Scrapy, Beautifulsoup, Mongodb, Elasticsearch, Celery, Flask, Docker, Kubernetes, React JS, Kibana
    Github: https://github.com/scorelab/CrawlerX
    Possible Mentors: TBD
  • Community Dictionary - A crowdsourced multilingual dictionary - FrontEnd

    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.

    Expected Results:
    • Design FrontEnd for Community Dictionary Platform
    • Develop FrontEnd for Community Dictionary Platform.
    • Provide Testing and Documentation

    Required Knowledge: ​NodeJS
    Github: https://github.com/scorelab/com-dictionary
    Possible Mentors: TBD
  • CodeLabz - Backend

    CodeLabz is a platform where the users can engage with online tutorials and the organizations can create tutorials for the users.

    Expected Results:
    • Design Backend for CodeLabz Platform
    • Develop Backend for CodeLabz Platform.
    • Provide Testing and Documentation

    Required Knowledge: ​NodeJS
    Github: https://github.com/scorelab/Codelabz
    Possible Mentors: TBD
  • CodeLabz - FrontEnd

    CodeLabz is a platform where the users can engage with online tutorials and the organizations can create tutorials for the users.

    Expected Results:
    • Design FrontEnd for CodeLabz Platform
    • Develop FrontEnd for CodeLabz Platform.
    • Provide Testing and Documentation

    Required Knowledge: ReactJS
    Github: https://github.com/scorelab/Codelabz
    Possible Mentors: TBD
  • Community Dictionary - A crowdsourced multilingual dictionary - Backend

    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.

    Expected Results:
    • Design Backend for Community Dictionary Platform
    • Develop Backend for Community Dictionary Platform.
    • Provide Testing and Documentation

    Required Knowledge: ​NodeJS
    Github: https://github.com/scorelab/com-dictionary
    Possible Mentors: TBD
  • Bug Zero - Bug Zero Gateway

    For bug bounty programs, organizations may need to expose their vulnerable systems securely only specific Hackers and monitor their activities. It is better if we can provide specific VPN servers for each bounty program and letting hackers access the program. This project is related to building automated VPN clusters in order to provide scalable service to both organizations and clients.

    Expected Results:
    • Self-contained service for each bounty program which includes a VPN gateway
    • API for both client(Hackers) and organization including authorization to configure bounty programs.
    • Log clients activities and able to view those activities for bounty organization

    Required Knowledge: ​Low level networking handling,Ip-sec, Docker, C/C++, Node/Go, GRPC
    Github: https://github.com/bug-zero/bugzero-gateway
    Possible Mentors: TBD
  • EtherBeat - Design and implement an analyzing framework on top of EtherBeat

    Implement an analyzing framework which can provide users important information about Ethereum platform. This must utilize existing GraphQL schema to answer the queries. Eg;

    • How many transactions carried out by 'X' address?
    • How much ETH value 'Y' user has transferred last 30 day?
    • Transactions summery for block range
    • More

    Expected Results:
    • Design and implement an EtherBeat analyzing framework
    • Test EtherBeat analyzing framework with test cases
    • Write documentation

    Required Knowledge: GraphQL Js and ReactJs
    Github: https://github.com/scorelab/EtherBeat
    Possible Mentors: Ruwan Geeganage, Tharidu Fernando and Keshan Sodimana
  • Go Social - Implement Community App Using Go Social Framework

    Propose and develop community app using Go Social Framework. In the proposal you need to provide the app ui design, and use case of the app

    Expected Results:
    Required Knowledge: NodeJS, ReactJS, ReactNative
    Github: https://github.com/scorelab/Go-social
    Possible Mentors: Wathsara, Shehan
  • ChainKeeper - Optimized Blockchain Analytical Interface for ChainKeeper

    Chainkeeper is a web-based application which can be used to retrieve Bitcoin blockchain data via API support from BlockSci core blockchain data. In analytics perspectives, this approach is highly inefficient due to some constraints. Therefore, needs to build a library for ChainKeeper which acts as data and analytical interface for blockchain to retrieve relevant data by writing queries. There should be blockchain supportable classes such as Blockchain, Blocks, Transactions, Input, Output and Address with range support. This library needs to support python with more optimization techniques.

    Expected Results:
    • Evaluate existing blockchain analysis library and identify performance issues
    • Come up with a suitable design to develop an analysis library
    • Implementation of the Analysis Library
    • Evaluation results with terms of data and analysis
    • Documentation of the library

    Required Knowledge: C++, Blockchain, Bitcoin, BlockSci, Python, C++ Boost
    Github: https://github.com/scorelab/ChainKeeper
    Possible Mentors: Isuranga Perera, Sajitha Liyanage
  • ChainKeeper - Optimized Bitcoin blockchain parser for memory constrained devices

    Bitcoin blockchain is a huge data structure with 180+GB in size. Due to this huge size available Bitcoin parsers take several hours to parse the entire blockchain. As an example BlockSci parser takes 11 hours with an 8GB cache. Because of that most of the available Bitcoin parsers are inefficient on memory constrained devices. The goal of this project is to design and implement a Bitcoin parser(may support forks of Bitcoin as well) which can use available memory efficiently to reduce blockchain parsing time on memory constrained devices.

    Expected Results:
    • Evaluate existing Bitcoin parsers and identify performance issues
    • Come up with a suitable strategy to store parsed Bitcoin data
    • Design and implement the parser
    • Evaluation
    • Documentation

    Required Knowledge: C++, Blockchain, Bitcoin
    Github: https://github.com/scorelab/ChainKeeper
    Possible Mentors: Isuranga Perera, Sajitha Liyanage
  • FactBounty

    The recent decade has witnessed the birth of social media ecosystems that brings social organizations, media content and various stakeholders together, and now it appears significant advantages of comprehensiveness, diversity and wisdom that provide users with a higher quality of experiences. Meanwhile, social media ecosystems suffer from security, privacy and trustworthiness threats. How to leverage the power of intelligent crowds to improve the ecosystem’s efficacy and efficiency, as well as ensure its security and privacy become burning and challenging issues.

    Fact Bounty is a crowdsourced fact-checking platform.

    Expected Results: https://github.com/scorelab/fact-Bounty/milestone/2
    Required Knowledge: React, Flask
    Github: https://github.com/scorelab/fact-Bounty
    Possible Mentors: Tuan Muraad Amith, Anmol Bansal
  • DengueStop - Community app

    DengueStop provides a simple and effective way to report and discover dengue incidents around your area, with the help of the community. The student has to create the admin panel and the backend in this project.

    Expected Results: You can go ahead and be creative about the milestones. We expect a fully functional mobile app that lets users mark the locations with the Dengue patients, at the end of the GSoC period.
    Required Knowledge: Flutter / React Native, NodeJS
    Github: https://github.com/scorelab/dengue-stop
    Possible Mentors: Oshan Mudannayake
  • DengueStop - Admin panel

    DengueStop provides a simple and effective way to report and discover dengue incidents around your area, with the help of the community. The student has to create the admin panel and the backend in this project.

    Expected Results: You can go ahead and be creative about the milestones. We expect a fully functional admin panel that can view the locations of the Dengue patients at the end of the GSoC period.
    Required Knowledge: React, NodeJS
    Github: https://github.com/scorelab/dengue-stop
    Possible Mentors: Oshan Mudannayake
  • ImageLab - Implement a prototype version of ImageLab

    ImageLab is a standalone tool that lets the user play with OpenCV using its GUI. It is a tool for the students and researchers who are new to image processing. Its functionality is similar to Scratch (https://scratch.mit.edu) except that it allows users to interact with the OpenCV library.

    Expected Results: We expect you to create the basic prototype of ImageLab for this year GSoC. You can talk about your ideas with project mentors and fix a set of milestones before writing the proposal. The scope of the initial version of the project is up to you. We would like if you could cover all the basic image processing operations.
    Required Knowledge: Java, JavaFX, OpenCV
    Github:
    Possible Mentors: Oshan Mudannayake
  • LabelLab - Integrate ML module for LabelLab

    LabelLab is an image labeling tool for a researcher. It can label bulks of images in order to be used for machine learning tasks. LabelLab consists of a web app and a mobile app. The web app will allow the admin of the project to manage the image repositories while the mobile app will be used to label the images on the fly. At the moment web app lacks machine and deep learning module to create models with labeled data-sets.

    Expected Results: https://github.com/scorelab/LabelLab/milestone/3
    Required Knowledge: Experience with any of the ML libraries such as Tensorflow / Pytorch etc., Python, React, NodeJs
    Github: https://github.com/scorelab/LabelLab
    Possible Mentors: Oshan Mudannayake
  • LabelLab - Add multiple data-lableing feature for LabelLab

    LabelLab is an image labeling tool for a researcher. It can label bulks of images in order to be used for machine learning tasks. LabelLab consists of a web app and a mobile app. The mobile app will allow the admin of the project to manage the image repositories, label the images on the fly and to classify images using already trained models.

    Expected Results: https://github.com/scorelab/LabelLab/milestone/1
    Required Knowledge: Flutter, NodeJs, Python, Experience training ml models is desired but not essential
    Github: https://github.com/scorelab/LabelLab
    Possible Mentors: Udesh Kumarasinghe
  • LabelLab - Revamp the web application

    LabelLab is an image labeling tool for a researcher. It can label bulks of images in order to be used for machine learning tasks. LabelLab consists of a web app and a mobile app. The web app will allow the admin of the project to manage the image repositories while the mobile app will be used to label the images on the fly.

    Expected Results: https://github.com/scorelab/LabelLab/milestone/2
    Required Knowledge: Python, React, NodeJs, Experience training ml models is desired but not essential
    Github: https://github.com/scorelab/LabelLab
    Possible Mentors: Oshan Mudannayake
  • TensorMap

    TensorMap will be a web application that will allow users to create machine learning algorithms visually. TensorMap will support reverse engineering of the visual layout to a Tensorflow implementation in preferred languages. The goal of the TensorMap is to let beginners play with machine learning algorithms in TensorFlow without less background knowledge about the library.

    Expected Results: As this is a challenging project, we won’t define the exact milestones for GSoC. Our expected output from this year is to fix the bugs of the TensorMap prototype and get it to a state that is usable by the end-user.
    Required Knowledge: Tensorflow, ReactJS, NodeJS
    Github: https://github.com/scorelab/TensorMap
    Possible Mentors: Keshan Sodimana, Raveen Harith Perera

© Copyright 2020 SCoRe Lab