GSoC 2021

Header

Welcome to the SCoRe Lab Google Summer of Code (GSoC) 2021 project ideas page. We are a dynamic and enthusiastic nonprofit research group pioneering in Internet of Things (IoT), Computer Security, and Software Tools, and is one of the best groups in South Asia. This is the 6th 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!


Idea List for 2021

The following is the idea list for Google Summer of Code 2021

#1: Improve the ImageLab user experience

Description

ImageLab is a visual programming tool for OpenCV. It is designed to support anyone to get started with image processing related concepts and techniques in an interactive manner. At its current stage, ImageLab is able to apply the most basic processing techniques onto an image. The goal of this project is to enhance the user experience of using ImageLab.

Expected Results

  • Propose and implement a complete overhaul to the UI including the support for theming.
  • Introduce block shapes depending on the operation types which can be merged with each other at the workspace area.
  • Improve the workspace actions such as ‘drag & drop’.
  • Package the application into an installable bundle.

Required Knowledge

Java, JavaFX

Possible Mentors

Oshan Mudannayake

Github Url

https://github.com/scorelab/imagelab
#2: ImageLab - Extend the ImageLab functionality

Description

ImageLab is a visual programming tool for OpenCV. It is designed to support anyone to get started with image processing related concepts and techniques in an interactive manner. At its current stage, ImageLab is able to apply the most basic processing techniques onto an image. The goal of this project is to extend the functionality of ImageLab.

Expected Results

  • Add the missing OpenCV operation blocks.
  • Implement the code generation functionality.
  • Introduce control structure blocks such as if-else and loops.

Required Knowledge

Java, JavaFX, OpenCV

Possible Mentors

Oshan Mudannayake

Github Url

https://github.com/scorelab
#3: Revive TensorMap

Description

TensorMap is a visual designer for ML code. The codebase has gone stale after the initial start-up of the project. TensorMap only consists of very limited functionality at the moment. Your task is to revive the project, clean up the codebase and fix the most fundamental bugs. Please email the mentors with your thoughts and ideas before applying to the project.

Expected Results

  • Understand the codebase and document the existing functionality.
  • Fix the bugs in the current implementation.
  • Revamp the project architecture.

Required Knowledge

Keras, Tensorflow, Having previous experience in ReactJS and Flask is preferable.

Possible Mentors

Oshan Mudannayake

Github Url

https://github.com/scorelab/TensorMap
#4: Webiu

Description

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 reusable Gatsby Components which are easily plugable to create Gatsby websites with ease.

Expected Results

  • Understand the codebase
  • Create a LOGO for Webiu
  • Create Documentation for existing components using https://storybook.js.org
  • Create a NPM package for WEBIU
  • Create new Reusable Gatsby Components
  • Functionality improvements of current Components

Required Knowledge

Javascript, React Js, GatsbyJs

Possible Mentors

Charith Elvitigala, Devon Wijesinghe

Github Url

https://github.com/scorelab/Webiu
#5: Scan8

Description

Scan8 is a Kubernetes based rapid URL/File scan system that allows to submit a list of URLs/files and take out the scan results. Scan8 uses ClamAV open-source antivirus project as the scan engine and Google gvisor as the container sandboxing for k8. The overall system is able to create a large number of lightweight ClamAV containers (Pods) and distributed the scan list on demand and take out the scan result within a short amount of time.

Expected Results

As the very initial stage of this project we expect to finish up the scan list distribution system. And automatic scale up and scale down the pods based on demand.

Required Knowledge

Knowledge in Linux, knowledge in containerization, C, bash scripting, Kubernetes, gVisor

Possible Mentors

Ravindu (Ammoniya)

Github Url

https://github.com/scorelab/Scan8
#6: Go Social - Implement Community App Using Go Social Framework

Description

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

Design and Implement Community App

Required Knowledge

NodeJS, ReactJS, ReactNative

Possible Mentors

Wathsara, Shehan

Github Url

https://github.com/scorelab/Go-social
#7: Clocal GCP - Core

Description

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.

Possible Mentors

Rumesh Hapuarachchi, Rajika Imal, Dilantha Prasanjith

Github Url

https://github.com/leopardslab/clocal-gcp
#8: Clocal GCP - Services

Description

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.

Possible Mentors

Rumesh Hapuarachchi, Rajika Imal, Dilantha Prasanjith

Github Url

https://github.com/leopardslab/clocal-gcp
#9: Clocal Azure - Services

Description

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.

Possible Mentors

Rumesh Hapuarachchi, Rajika Imal, Lakindu Gunasekara

Github Url

https://github.com/leopardslab/clocal-azure
#10: NodeCloud - Ali Cloud Provider

Description

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

Possible Mentors

Rumesh Hapuarachchi, Rajika Imal

Github Url

https://github.com/cloudlibz/nodecloud
#11: NodeCloud - Digital Ocean Provider

Description

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

Possible Mentors

Rumesh Hapuarachchi, Rajika Imal

Github Url

https://github.com/cloudlibz/nodecloud
#12: NodeCloud - Rackspace Provider

Description

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

Possible Mentors

Rumesh Hapuarachchi, Rajika Imal

Github Url

https://github.com/cloudlibz/nodecloud
#13: Senz - Create a Node.js module for senz clients

Description

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

Possible Mentors

Sumedhe Dissanayake

Github Url

https://github.com/scorelab/senz
#14: OpenMF - Analytics API

Description

OpenMF is an ​open-source forensic tool for Android smartphones that helps digital forensic investigators throughout the life cycle of digital forensic investigation. OpenMF tool is available to extract data from a rooted Android device using command line or webclient.

Expected Results

  • Some changes in the frontend to make it more user friendly.
  • Design and develop logic to implement Analysis on the cases, Eg- 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.
  • Improve routing of the React App
  • Design and Implement APIs as per requirement
  • Update project wiki and provide a video for complete setup and working of project

Required Knowledge

Python, Flask, React Js

Possible Mentors

shivanshu1333, vivonk

Github Url

https://github.com/scorelab/OpenMF
#15: SCoRe Lab Bot

Description

SCoRe Bot is a Gitter chat bot which will respond to queries asked in the SCoRe Lab Gitter channel. The project aims to welcome newcomers to the SCoRe Lab community and guide them to the projects based on their interests. (See more information in the detailed explanation)

Expected Results

  • Once a new user joins the channel and sends a welcome message, the score bot should welcome the user to the community.
  • If this user provides details on what he/she is interested in, query a data source and provide feedback with relevant projects, startup guides, documentation links etc.
  • If an existing user tries to ask a question related to a project which can be answered by the score bot, answer those questions as well.
  • If any user tries to spam the channel with offensive messages record those users in a database and automatically remove them.
  • If any user tries to communicate with another contributor in a disrespectful manner, warn them with a message and record them in a database.

Required Knowledge

Chat bots, Gitter API

Possible Mentors

Rajitha Warusavitarana

Github Url

https://github.com/scorelab/OpenMF
#16: Improve LabelLab web application

Description

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

  • Improve team management.
  • Improve collaboration experience (Log and show changes made by each team members within a LabelLab project).
  • Document the entire web project and backend.
  • Project initialisation improvements.
    • Add install scripts
    • Add docker scripts
  • Write missing unit tests for backend endpoints.
  • Fix existing bugs in the web application.
  • Clean and fix the dependency versions.

Required Knowledge

ReactJS, Flask, PostgreSQL, Docker

Possible Mentors

Oshan Mudannayake, Udesh Kumarasinghe

Github Url

https://github.com/scorelab/LabelLab
#17: Improve LabelLab mobile application

Description

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

  • Improve team management
  • Improve collaboration experience (Log and show changes made by each team members within a LabelLab project)
  • Write missing unit tests for endpoints used by the mobile application
  • Fix existing bugs in the mobile application
  • Clean and fix the dependency versions

Required Knowledge

Flutter, Flask

Possible Mentors

Udesh Kumarasinghe

Github Url

https://github.com/scorelab/LabelLab
#18: Design 5 new Themes for Webiu

Description

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 reusable Gatsby Components which are easily plugable to create Gatsby websites with ease.

Expected Results

  • Design 5 new themes for Webiu(For 5 difference use case)
  • Desing and Develop theme module for Webiu
  • Implement new themes in Webiu

Required Knowledge

Javascript, React Js, GatsbyJs

Possible Mentors

Charith Elvitigala, Devon Wijesinghe

Github Url

https://github.com/scorelab/Webiu
#19: DNSTool Web Application

Description

DNSTool-Frontend is the main access portal of the DNSTool which is designed to monitor the given set of internet resources like domains, IP, SOA, etc. Frontend allows users to upload their scanning seed list(s) and control the scans as well as schedule them. This project is to design a responsible and user-friendly single-page application as the frontend (dashboard).

Expected Results

  • Responsible UI
  • User-friendliness
  • Fast loading

Required Knowledge

ReactJs, Redux

Possible Mentors

TBD

Github Url

https://github.com/scorelab/DNSTool
#20: DNSTool Middleware/API

Description

DNSTool is designed to monitor the given set of internet resources like domains, IP, SOA, etc. DNSTool-middleware/API is the main component of managing different scan lists and their scan results. And DNSTool-middleware/API acts as a bridge between the scanning system and the frontend. This project to develop the middleware as a non-monolithic containerized application.

Expected Results

  • Develop a non-monolithic containerized application to full fill the description requirements.

Required Knowledge

Python, Flask, C++, Ray, Docker, Kubernetes

Possible Mentors

TBD

Github Url

https://github.com/scorelab/DNSTool
#21: DNS Command line Tool

Description

DNSTool is designed to monitor the given set of internet resources like domains, IP, SOA, etc. DNSTool-middleware/API is the main component of managing different scan lists and their scan results. And DNSTool-middleware/API acts as a bridge between the scanning system and the frontend. This project to develop the middleware as a non-monolithic containerized application.

Expected Results

  • High throughput and low latency data transferring pipeline with authentication.

Required Knowledge

C/C++, Linux, protobuf ,gRpc, Docker

Possible Mentors

TBD

Github Url

https://github.com/scorelab/DNSTool
#22: CodeLabz - FrontEnd Improvemnts

Description

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

Possible Mentors

TBD

Github Url

https://github.com/scorelab/Codelabz
#22: CodeLabz - FrontEnd Improvemnts

Description

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

Expected Results

  • Improve FrontEnd for CodeLabz Platform.
  • Develop FrontEnd improvemnts CodeLabz Platform..
  • Provide Testing and Documentation

Required Knowledge

ReactJS

Possible Mentors

TBD

Github Url

https://github.com/scorelab/Codelabz
#22: CodeLabz - Backend Improvemnts

Description

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

Expected Results

  • Improve Backend for CodeLabz Platform.
  • Develop Backend improvemnts CodeLabz Platform..
  • Provide Testing and Documentation

Required Knowledge

ReactJS

Possible Mentors

TBD

Github Url

https://github.com/scorelab/Codelabz

Important Guidelines on Submitting Ideas

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

  1. There is a fixed time period for implementing and coding your ideas
  2. 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.
  3. You are free to come up with your own ideas. The ideas should be about Internet of Things (IOT), Computer Security and Software Tools. Also if you love to work on any of these subjects but do not have an idea you can always contact us.
  4. Lets Talk! The best way to solve problems that you might have is to contact our mentors and also our community.
  5. 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.
  6. Please send your new project ideas to gsoc[at]scorelab.org

Mailing List Recent Activity

Loading...


Gitter Rooms

Loading...


All SCoRe Lab Projects