Nextcloud

MentorJan-Christoph Borchardt (jancborchardt)
Project Websitehttps://nextcloud.com
Project Repositoryhttps://github.com/nextcloud
Suitable for Beginners?yes
TagsPHP Javascript jQuery HTML CSS SCSS UX design Front-end SQL MySQL SQLite security decentralization WebDAV Android
Stateaccepted
Applications (1st Choice)16 (14 submitted | 2 in-progress)
Applications (2nd Choice)4 (4 submitted | 0 in-progress)
Code of Conducthttps://nextcloud.com/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.

Contact

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: https://riot.im/app/#/room/#freenode_#nextcloud-dev:matrix.org – 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 :) https://github.com/nextcloud/server/labels/good%20first%20issue

Here are some examples you could tackle:
- Mail app: Non-square avatars are stretched https://github.com/nextcloud/mail/issues/26
- Mail app: Message sending experience https://github.com/nextcloud/mail/issues/238
- Mail app: Ctrl-S for triggering draft save https://github.com/nextcloud/mail/issues/634
- Mail app: Print stylesheet https://github.com/nextcloud/mail/issues/579
- Mail app: »Retry« button on error views https://github.com/nextcloud/mail/issues/314
- Talk app: Automatically focus message input https://github.com/nextcloud/spreed/issues/567
- Talk app: Notify user when talking while being muted https://github.com/nextcloud/spreed/issues/285
- Talk app: When creating a room via »New shared call«, directly copy the link to clipboard https://github.com/nextcloud/spreed/issues/138
- Talk app: Enhance display of currently speaking participant https://github.com/nextcloud/spreed/issues/309
- Talk app: Participant drop down is hidden in overflow https://github.com/nextcloud/spreed/issues/571
- Contacts app: FN field behaviour: first and last name https://github.com/nextcloud/contacts/issues/270
- Contacts app: Show fields for phone, email, address and groups by default for new contact https://github.com/nextcloud/contacts/issues/253
- Contacts app: Fix the mobile view https://github.com/nextcloud/contacts/issues/119
- Contacts app: Introduce 3-dot-menu in top right for Download and Delete https://github.com/nextcloud/contacts/issues/354
- Contacts app: Fields should not cross over two columns https://github.com/nextcloud/contacts/issues/56
- Good First Issues for the Android app: https://github.com/nextcloud/android/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22

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. :)

Comments

You must be logged in to comment on this project.


Arundhati Gupta, Wednesday, February 28, 17:04 UTC

Hi,
I am Arundhati Gupta, a sophomore year student in Computer Science and Engineering at IIT Patna, India. I, along with my team-mate Diksha Bansal, would like to contribute to the android application of Nextcloud. We have some ideas to improve the app's UI and add to its core functionality. We are well-versed in android app development and also know languages like C, C++, Java, HTML and are familiar with back end integration and working with tools and platforms like GitHub, Google Cloud platform and AWS.
It would be really helpful if you could please help us start contributing to the project and help transform this awesome app into an even more amazing one. Looking forward to a great experience working on this project. :-)


Arundhati Gupta, Wednesday, February 28, 17:03 UTC

Hi,
I am Arundhati Gupta, a sophomore year student in Computer Science and Engineering at IIT Patna, India. I, along with my team-mate Diksha Bansal, would like to contribute to the android application of Nextcloud. We have some ideas to improve the app's UI and add to its core functionality. We are well-versed in android app development and also know languages like C, C++, Java, HTML and are familiar with backend integration and working with tools an platforms like GitHub, Google Cloud platform and AWS.
It would be really helpful if you could please help us start contributing to the project and help transform this awesome app into an even more amazing one. Looking forward to a great experience working 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: https://riot.im/app/#/room/#freenode_#nextcloud-dev:matrix.org – 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

Hello,
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

Hi,
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!