MentorJan-Christoph Borchardt (jancborchardt)
Project Website
Project Repository
Suitable for Beginners?yes
TagsPHP Javascript jQuery HTML CSS SCSS UX design Front-end SQL MySQL SQLite security decentralization WebDAV Android
Applications (1st Choice)16 (14 submitted | 2 in-progress)
Applications (2nd Choice)4 (4 submitted | 0 in-progress)
Code of Conduct
LicenseGNU Affero General Public License v3 (AGPL-3.0)

Project Description

Nextcloud is an open source system for file sync & sharing, calendar, contacts etc. Very similar to what Dropbox or Google Suite are used for. It consists of a server component with apps for Files, Contacts, Calendar, Mail etc., a desktop client, and mobile apps for Android and iOS.


If you are interested in this project and have any project-specific questions, you can use our #nextcloud-dev IRC channel

Additional Coaches

We also can offer additional coaches with specific expertise:

  • Camila Ayres (Github & IRC camilasan): desktop client
  • Jona Azizaj (Github & IRC jonatoni): Contacts app, worked on it during RGSoC last year
  • Morris Jobke (Github & IRC MorrisJobke): Javascript & frontend, PHP
  • Julius Härtl (Github & IRC juliushaertl): Javascript & frontend, PHP
  • Roeland Jago Douma (Github & IRC rullzer): desktop client, PHP
  • Maxence Lange (Github @daita, IRC Cult): PHP
  • Tobias Kaminsky (Github @tobiasKaminsky, IRC TobiasK): Android app
  • Ivan Sein (Github & IRC Ivansss): Talk app server & Talk app on iOS
  • Mario Danic (Github @mario, IRC pygi): Talk app on Android
  • Joas Schilling (Github & IRC nickvergessen): Talk app server

Project's Requirements

The server part is mainly programmed in PHP, Javascript, HTML and CSS. The Android app is Java and the iOS app in Objective-C. There are a lot of different aspects to work on in Nextcloud so there’s something fitting for everyone. In general, basic experience with the technologies is already enough to get involved. The more the better, but the community will be happy to help. :) We use Git for all version control, discussions and work is done on Github, and English is the main language.

Server apps are already easy to contribute to with basic HTML+CSS skills. We use SCSS but it’s very easy to get into if you know CSS.
For tests we use PHPUnit for PHP and Karma+Jasmine for Javascript.
The separate apps/plugins are built with different technologies on the Javascript side. We are currently experimenting with moving to Vue.js but currently there are still various frameworks used. See more information in parentheses for each app:

The mobile apps:

And other parts like:

The best place to start is our IRC channel #nextcloud-dev: – our community of contributors hangs out there and will be able to help you with any questions.

To set up your local development environment, there’s documentation for Linux/Ubuntu, Windows (you need to set up a VM with Ubuntu) and macOS

And then to get started with contributing, go through the »good first issues« linked below. Best decide on one of the apps and focus on that. There’s also specific IRC channels for the apps, like #nextcloud-mail, #nextcloud-contacts, #nextcloud-talk and #nextcloud-mobile. :)

Tasks And Features

We use the "good first issue" tag so you can find small bugs and enhancements to start out with :)

Here are some examples you could tackle:
- Mail app: Non-square avatars are stretched
- Mail app: Message sending experience
- Mail app: Ctrl-S for triggering draft save
- Mail app: Print stylesheet
- Mail app: »Retry« button on error views
- Talk app: Automatically focus message input
- Talk app: Notify user when talking while being muted
- Talk app: When creating a room via »New shared call«, directly copy the link to clipboard
- Talk app: Enhance display of currently speaking participant
- Talk app: Participant drop down is hidden in overflow
- Contacts app: FN field behaviour: first and last name
- Contacts app: Show fields for phone, email, address and groups by default for new contact
- Contacts app: Fix the mobile view
- Contacts app: Introduce 3-dot-menu in top right for Download and Delete
- Contacts app: Fields should not cross over two columns
- Good First Issues for the Android app:

Of course anything that you are missing or see as an issue and would like to work on! Either pick something from the issue tracker or propose something yourself. :)


You must be logged in to comment on this project.

Arunika Yadav, Tuesday, February 27, 06:05 UTC

I am Arunika ,a sophomore year undergraduate and along with my team mate Harshika want to get started with contributing to NextCloud for rgsoc 2018.We already know android,HTML/CSS,Javascript,Data structures,algorithms,ML and Other backend languages.

If only anybody could help us get started with the project we will be grateful :)

Shikha Panwar, Saturday, February 24, 11:00 UTC

I am Shikha Panwar , 3rd year UG in CSE, IIT Kharagpur. I along with my partner Ankita Sahoo, second year UG in ECE from IIT Kharagpur interested in working in Nextcloud. We are familiar with git and have sound knowledge of HTML/CSS,PHP , Javascript , Mysql, Oracle, Data structures , Cryptography, ML, AI and Socket Programming.

It will be great if you could guide us get started and contribute to the projects.

Jan-Christoph Borchardt, Tuesday, February 20, 14:21 UTC

Hey Pareksha and Rutuja, welcome to Nextcloud! :)

The best place to start is our IRC channel #nextcloud-dev: – our community of contributors hangs out there and will be able to help you with any questions.

And then to get started, go through the »good first issues« linked above. :) Best decide on one of the apps and focus on that. There’s also specific IRC channels for them, like #nextcloud-mail, #nextcloud-contacts, #nextcloud-talk and so on.

Rutuja Surve, Monday, February 19, 12:11 UTC

I am interested in contributing to this project. What e-mail address/IRC channel name do we write to /ping in case we have questions?

Pareksha Manchanda, Sunday, February 18, 17:26 UTC

I was surfing through the projects and guess what found the perfect one. I read about your project and found it quite interesting, (especially that there are a lot of issues requesting UI improvements). Moreover, the technologies suit our taste. I and my teammate Kriti both have knowledge of HTML5, CSS, Bootstrap, and JavaScript. And we are willing to learn more. Currently, I myself am studying full stack web development. I am very much interested in contributing to your project.
Kindly, tell me how can I interact with your community. And whether a prior contribution or any aspect(other than the application) is required or beneficial in the selection process? I really don't want to miss this one.
Thanks a lot!