You are here: Wiki>Projects Web>GSoC>GSoC2022ProjectIdeas (18 Jan 2022, BenjaminPross)Edit Attach

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


The is the ideas page for the Google Summer of Code 2022. 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: Improving Data/View Binding

Explanation: Currently the enviroCar Android app uses Butter Knife, which is deprecated for some time. Recommend way for binding views ist the View Binding library provided by Jetpack. However, there is another pattern which supports seperating an app's view from its model: Data Binding Library.

Expected results: Replace the deprecated Butter Knife view binding by introducing Jetpack Data Binding or View Binding (should be discussed in beforehand) in order to provide a cleaner approach for separating views from models.

Code challenge: TBD

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

Mentors: Sebastian Drost (s.drost@52north.org), Benjamin Pross (b.pross @52north.org)

enviroCar App: Voice Command

Explanation: https://github.com/enviroCar/enviroCar-app/issues/416

Expected results: Controlling the app, at least in recording mode, with voice commands.

Code challenge: TBD

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

Mentors: Sebastian Drost (s.drost@52north.org), Benjamin Pross (b.pross @52north.org)

enviroCar Platform Independent App: Add UI for Data Privacy Settings/Control

Explanation: In the Context of the SIMPORT Project, add a UI for Data Privacy settings and control.

Expected results: UI for Data Privacy settings and control.

Code challenge: TBD

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

Mentors: Benjamin Pross (b.pross @52north.org), Mattes Rieke (m.rieke @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 Email Main skills
Benjamin Pross b.pross @52north.org Geoprocessing, Java, Android
Benedikt Gräler b.graeler @52north.org Data Analytics, R, Python
Christian Autermann c.autermann @52north.org Geoprocessing, Sensor-Web, Cloud, Java, Python
Carsten Hollmann c.hollmann @52north.org Sensor-Web, Java
Sebastian Drost s.drost @52north.org Java, Android, Python
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: r6 - 18 Jan 2022, 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