Call for students: Work on Nextcloud related projects together with Joplin

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!

 

screenshot

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)

Skills Required: JavaScript; React; React Native (for mobile)

Potential Mentor(s): Roeland Jago Douma, laurent22

More info: Forum thread about Joplin Web API for Nextcloud

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.

Potential Mentor(s): Roeland Jago Douma, laurent22

More info: GitHub: Nextcloud notes integration (Web client)

See the full list of the project ideas and develop some great features this summer!