Google Summer of Code/2018/Project Ideas

From Qt Wiki
< Google Summer of Code/2018
Revision as of 10:40, 13 February 2018 by Jesus Fernandez (talk | contribs) (Changed headings)
Jump to navigation Jump to search

This page lists a number of ideas for potential Google Summer of Code 2018 projects. Also check existing bugs for more problems to solve.

This page's primary purpose is to help to give potential applicants ideas that they can build on to turn into applications for the program. Members of the community are encouraged to identify ideas for projects here, and whether they would be willing to act as a mentor for a student attempting the project.

Students can base their application on one of these ideas, or on an idea of their own if they prefer.

Processes

If you are thinking of applying for GSoC, please see our Google Summer of Code/Processes page which describes the way that we manage GSoC within Qt, so you know what we expect of students and Mentors.

Project Ideas

This is the list of projects. Please add projects using the GSoC idea template.

Qt Location

QtLocation is Qt's own mapping module. It has positioning and location modules for integrating maps into applications. For more information see http://doc.qt.io/qt-5/qtlocation-index.html.


Valhalla offline routing plugin
Suggested By
Summary
Create a QtLocation geoservice plugin based on valhalla
Skills Required
C++
Difficulty
Medium
Possible Mentors
Notes
Comments
Valhalla is a proven open source routing solution capable of using OSM data route from A to B. Creating a QtLocation geoservice plugin based on valhalla would allow to perform offline routing easily and effectively on a wide range of platforms.


OpenGL-based Map Items
Suggested By
Summary
Implement the rendering of geometric map items (circles, rectangles, polygons, polyline) in GLSL
Skills Required
C++
Difficulty
Medium
Possible Mentors
Notes
Comments
Geometric map items in QtLocation currently require considerable preprocessing, and even projection to screen is performed in CPU. Applying GPU-acceleration to the items rendering stack can be performed at multiple stages.


MapPolygons with holes
Suggested By
Summary
Support MapPolygons with holes
Skills Required
C++
Difficulty
Medium
Possible Mentors
Notes
Comments
QtLocation's MapPolygon currently does not support polygons containing holes. Adding this support would allow a 1:1 feature matching with GeoJSON geometry.


3D Map Item
Suggested By
Summary
Add a Map Item to render 3D models
Skills Required
C++
Difficulty
Medium
Possible Mentors
Notes
Comments

Qt Model/View

Qt contains a set of item view classes that use a model/view architecture to manage the relationship between data and the way it is presented to the user. The separation of functionality introduced by this architecture gives developers greater flexibility to customize the presentation of items, and provides a standard model interface to allow a wide range of data sources to be used with existing item views.


Moving Window Proxy Model
Suggested By
Summary
Add a proxy model that allows user to look just at a fixed number of items without having to load the entire (possibly massive) source model in the view.
Skills Required
C++
Difficulty
Medium
Possible Mentors
Notes
Mentioning availability is restricted to my free time.
Comments



Categoriser Proxy Model
Suggested By
Summary
A proxy to transform a typical database structure into a tree.
Skills Required
C++
Difficulty
Medium
Possible Mentors
Notes
Mentioning availability is restricted to my free time.
Comments
Example
Europe Germany Berlin
Europe France Paris
Europe Germany Munich
America USA New York
America Peru Lima

Becomes:

  • Europe
    • Germany
      • Berlin
      • Munich
    • France
      • Paris
  • America
    • USA
      • New York
    • Peru
      • Lima