You are here: Wiki>Projects Web>GSoC>GSoC2021ProjectIdeas (15 Apr 2021, BenjaminPross)Edit Attach

Project Ideas for Google Summer of Code at 52°North in 2021


The is the ideas page for the Google Summer of Code 2021. If you are an interested student please don't hesitate to contact mentors directly or discuss your own ideas on the mailing lists.

To add your idea, please use the project template at the end of the page or add a minimalistic sentence in the "coarse ideas" list - but add your signature in any case. Thanks!

Information for Students

General information: GSoCForStudents - please read before asking questions!

52°North is an open organisation with several "communities" on specific topics. The list of ideas below was created by the community leaders and code managers of different projects organized within these communities. The "Draft Ideas" section contains ideas still under discussion between mentors and org admins, or incomplete ideas, so please get in touch before starting the code challenge.

Beyond our ideas, we welcome your ideas for projects related to our communities and encourage you to get in touch with the communities on the respective mailing lists to discuss your own project ideas.

How do I choose a project?

Some of the software projects are available pre-built on the OSGeo Live demo, including project overviews and tutorials where you can try everything out. Download the ISO from http://live.osgeo.org. If you have not found an idea that interests you on this ideas page, there are other organisations with great topics on geospatial technologies, and everything related to "geo" really is the best in our opinion. So check out the ideas pages of like minded projects: OSGeo, OpenStreetMap.

Challenge yourself with one or more of the coding challenges - you will best realize if a software interests you when you have some hands-on experience with it. And that is the most important part: you must really find the project interesting.

Ready ideas

OGC APIs

The Open Geopatial Consortium (OGC) is working on several API standards and has already released important parts of the OGC API - Features. In this years GSoC at 52°North, would like to implement clients of various programming languages (R, Python, JS, Java, ...) that are frequently used at 52N for different APIs. 52N will provide references to running API server that can be used to implement the clients. While the available services define the baseline, the standard specifications will be the true reference.

The use case is cross API integration, this means we want to check how well the data APIs (e.g. Features, Coverages) interact with the API - Processes (get features/coverages for processing, store results back in data API).

Further reading:
OGC APIs
javaPS (API - Processes server)
SOS4R (R client for OGC Sensor Observation Service)
QGIS Web Processing Service (WPS) Plugin (WPS is the predecessor of the API - Processes)
OWSLib (Python client API)

Required skills: Pick your preferred programming language or GIS framework, e.g. R, Python, JS, Java, or Quantum GIS (QGIS).

API Processes Client

Of interest are clients implemented in R, Python, JS, Java, or a QGIS-plugin. An esri ArcGIS Pro plugin would also be thinkable, this would require a license that we could provide.

API Features Client

Of interest are clients implemented in R, Python, JS, Java, or a QGIS-plugin.

API Coverages Client/Server

Of interest are clients implemented in R, Python, JS, Java, QGIS-plugin and server implementations in Python (tailored to the Open Data Cube) and Java (general purpose library).

OGC Sensor Things API Clients

Of interest are clients implemented in R, Python, JS, Java, QGIS-plugin

Expected results: Improved, (fully) functional API clients in a different programming environments, ideally building on previous work and implementations.

Code challenge/proposal phase: Screen the open source resources and the OGC implementation site to identify the current state of implemented clients. Based on your review, propose additions and changes or new implementations in your proposal.

Community and Code License: Cross-community project(s). Apache Software License, Version 2.

Mentors: Benjamin Pross (b.pross @52north.org), Benedikt Gräler (b.graeler @52north.org) and further 52°North staff based on the selected programmin environment, eventually contributors of used open source libraries.

UI for the Arctic Sea settings API (Faroe)

Explanation: The faroe API of the Arctic Sea framework lets you set the properties for OGC services (e.g. Service Identification and -Provider, see this Capabilities document: Capabilities). The settings are stored in JSON files. This project should create a Web-frontend to create, read, update and delete (CRUD) the JSON settings. The frontend should be written in JavaScript. Also, a REST API will be needed on top of the faroe API. The UI should be easily extensible (for example see the properties for the javaPS Well-known text (WKT) parser) and customizable, e.g. with customer logos.

As an optional extension, Faroe could be extended to run as a standalone service. It should offer an API (e.g. based on WebSockets) to subscribe to setting changes and provide a implementation of SettingsService that uses a remote instance of Faroe for configuration.

Required skills: software development skills in Java and JavaScript

Expected results: UI components and a REST API for the faroe settings API

Code challenge: We expect the basic components (JavaScript UI, REST API) to be there to have a good starting point for the project. A simple form to set one or more service settings via a rudimentary REST API.

Community and Code License: Cross-community project. Apache Software License, Version 2.

Mentors: Benjamin Pross (b.pross @52north.org), Carsten Hollmann (c.hollmann @52north.org)

enviroCar projects

enviroCar App

Bugfixing and small new features

Explanation: For this project, we plan on bugfixing and implementing small new features. We want you to select bugs (and feature requests) an create a work plan on resolving them.

Expected results: We are hoping to significantly reduce the amount of issues on GitHub.

Software: Android

Resources: GitHub issues

Code challenge: To enable us to check your code skills, start with minor bugs and create pull requests for them.

Community and Code License: enviroCar, Apache Software License, Version 2.

Mentors: Benjamin Pross (b.pross @52north.org)

Groundwork for platform independent app

Explanation: The enviroCar app currently only runs on Android devices. While this enables roughly two thirds of smartphone users to use the app, we aim on including also iOS users.

Expected results: We do not expect a full working platform independent enviroCar app. We expect a solid development plan and basic functionality (e.g. connection to OBD adapters) that run both on Android and iOS. This could hopefully be picked up by the community and be developed further.

Software: Cross-platform

Resources: enviroCar Android app, enviroCar server

Code challenge: Start a platform independent app project (e.g. using flutter or something similar) that can connect to the enviroCar server and authenticate the user.

Community and Code License: enviroCar, Apache Software License, Version 2.

Mentors: Benjamin Pross (b.pross @52north.org)

Your Project Here

You are also able to propose your own project. Note that this needs to be in the domain of 52°North.

We have numerous software projects that welcome new community members. Maybe you find something that interests you there:

52°North software projects, 52°North GitHub landing page

You should also propose a mentor for your project. Active mentors are:

Name EmailSorted ascending Main skills
Benedikt Gräler b.graeler @52north.org Data Analytics, R, Python
Benjamin Pross b.pross @52north.org Geoprocessing, Java, Android
Christian Autermann c.autermann @52north.org Geoprocessing, Sensor-Web, Cloud, Java, Python
Carsten Hollmann c.hollmann @52north.org Sensor-Web, Java

Please use the following template:

Project Template

Please copy and paste to the drafts section above and get in touch with the org admins - leave this template intact.

<concise project title>

Explanation: <Shortly describe the idea and classify as specifically as possible including the required skill level, for example "tricky project, requires in-depth knowledge of database configuration" or "easier project, good for student with limited Java experience". Clarity and detail are highly desirable in the idea description.>

Expected results: <add here>

Code challenge: <add here a short task for an interested student to demonstrate the capabilities with the used tools/producs, e.g. deploying the web server and changing behaviour of feature X.>

Community and Code License: <if applicable>

Mentors: <full name and contact details>
Topic revision: r8 - 15 Apr 2021, BenjaminPross
Legal Notice | Privacy Statement


This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki? Send feedback