Joplin has been accepted as a mentor organization at Google Summer of Code 2020! All students wishing to participate in the Summer of Code will be required to produce applicable and readable code for Joplin in a 3-month programming project.
Detailed information on how to get involved and apply are given in the general Summer of Code introduction.
About Joplin & GSoC 2020
Joplin is an open-source cross-platform note-taking and to-do application. It can handle a large number of notes, organized into notebooks, and can synchronize them across multiple devices. The notes can be edited in Markdown, and each client has an option to render Markdown with formatting, images, URLs, and more. Any number of files, such as images and PDFs, can be attached to a note, and notes can also be tagged.
2020 is Joplin’s first round at Google Summer of Code. Detailed information on how to get involved and apply are given in the general Summer of Code introduction.
The Google Summer of Code, often abbreviated to GSoC, is an international annual program, focused on introducing students to open source software development in which Google awards stipends, to all students who successfully complete a requested free and open-source software coding project during the summer.
All students and Joplin users and developers are welcome to participate in the first year Summer of Code program with Joplin!
Two Nextcloud projects on the list of ideas
Collaboration via Nextcloud
We need a way to share notes with other users, and to collaborate on notes. This is useful for companies, to collaborate on projects for example, but also for individual users when they want to share their notes with other people.
The basis for this would be the Joplin Web API for Nextcloud, which is currently used to share a note publicly, and which can be extended for other uses.
The main feature we would like to see is the ability to select a Nextcloud user from the app, then share a note with him or her. Once the note is shared, it will appear in the Joplin clients of the other user (via sync). The solution should be generic enough that it can later be used to share a whole notebook.
Expected Outcome: The user should be able to select a Nextcloud user then share a note with them. That note should then appear in the other user’s Joplin clients.
Difficulty Level: High
Platforms: Desktop and/or mobile (at the student’s choice)
Web client for Nextcloud
There is the community’s wish to have the notes integrated Nextcloud so that Notes can be sought by Nextcloud itself. Although this idea focuses on Nextcloud it shall allow to extend it to other collaboration applications going beyond the current scope of Synchronisation. There is already a web application that may used as a starting point, but it is also fine to start from scratch.
Feature parity with the desktop client is not needed and would be out of scope. These are the features that would be needed to create a minimal web client:
- Ability to list the notebooks in a hierarchy
- Ability to view a note and render the Markdown to HTML
- Ability to edit the Markdown note and save it
- Handle conflicts when, for example, a note is modified in the web client and, at the same time, it is modified via sync.
Expected Outcome: Viewing and editing notes and notebooks from a Nextcloud-based web client
Difficulty Level: High
Skills Required: PHP (for the Nextcloud app). For the front-end, it can be plain HTML (no JS) or React.
See the full list of the project ideas and develop some great features this summer!