Google Summer of Code/2018/Project Ideas: Difference between revisions
(Added IncludeOS project) |
|||
Line 13: | Line 13: | ||
== General == | == General == | ||
{{GSoC idea|title=Port Qt to IncludeOS|suggestor=[[User:Jesus_Fernandez| | {{GSoC idea|title=Port Qt to IncludeOS|suggestor=[[User:Jesus_Fernandez|Jesús Fernández]]|summary=Create a port of Qt to IncludeOS|skills=C++|difficulty=Hard|mentors=[[User:Jesus_Fernandez|Jesús Fernández]]|notes=IncludeOS allows you to run your application in the cloud without an operating system. IncludeOS adds operating system functionality to your application allowing you to create performant, secure and resource efficient virtual machines. IncludeOS applications boot in tens of milliseconds and require only a few megabytes of disk and memory.}} | ||
== Qt Location == | == Qt Location == |
Revision as of 10:50, 13 February 2018
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.
General
Suggested By
Summary
Create a port of Qt to IncludeOS
Skills Required
C++
Difficulty
Hard
Possible Mentors
Notes
IncludeOS allows you to run your application in the cloud without an operating system. IncludeOS adds operating system functionality to your application allowing you to create performant, secure and resource efficient virtual machines. IncludeOS applications boot in tens of milliseconds and require only a few megabytes of disk and memory.
Comments
|
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.
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.
|
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.
|
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.
|
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.
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
|
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
- Germany
- America
- USA
- New York
- Peru
- Lima
- USA