Good tutorials to learn the fundamentals Nextcloud builds upon

Programming languages (PHP, Javascript, Rust, Python)

For improving your programming in a variety of languages there is one place I can recommend:

It’s a non profit community that builds and maintains an awesome set of exercises, tutorials and background information.

Javascript

https://learnjavascript.online is a good place to get started.

Vue

Cypress

Git and Github

https://skills.github.com is a good starting point based on template repositories that include the instructions for every tutorial.

Html

7 Likes

Thanks for the resources you shared. :smiley:

It would be great to build on this. A fundamentals video/tutorial outlining the structure and topology of Nextcloud would be great.

The tutorials I have seen so far don’t actually teach you these fundamentals. They are very lightweight and involve a lot of cut and paste. No groundwork is formed .

How to get a users permissions, How do i use the frameworks CSS in my apps, Can we use permissions in routes. Whats the explanation of namespaces OCS, OCA, OCP.

From what I have discovered so far is that Nextcloud is quite complex, and a lot of prior knowledge is assumed. I know PHP, but not that familiar with JavaScript, vue.js, webpack, npm, nvm, sass.

This increases my learning curve considerably. I have an Symfony application which i want to encapsulate as an app in Nextcloud. I used the concept of ORM’s, quuerybuilders, Migrations, MVC, Entities. I just need map or overview of nextcloud so I can find my way around. The PHP backend i think I’m about 75% there.

The front end is another matter, I will have to dig deep on this. Im looking at the 3rdParty folder and wondering if I could reduce my learning curve and pull in Twig https://twig.symfony.com/ and use this as the template engine for my App.

2 Likes

The two main resources I’m aware of are:

  1. Develop for Nextcloud (scroll down to the tutorials section)

  2. The Developer Docs: Nextcloud developer documentation — Nextcloud latest Developer Manual latest documentation

Also some of key pieces of NC are split out as apps so you can learn from visiting their individual repositories on GitHub (and poking around on the Nextcloud organization maintained repositories in general).

1 Like

Hello Deakus, hope you are well. How is this project going? What new discoveries have you made?
I am part of a volunteer team developing FOSS for people in Recovery from Mental health, Substance Use, and Trauma. We are using Nextcloud with OpenProject for our collaboration and PM.

As part of our research and discovery process we want to explore and understand NC’s architecture and development. We want to do this for several reasons.

  1. we want to learn about software architecture in general
  2. we want to fully understand NC and how our team can best utilize it for the success of our team and project
  3. explore creating simple apps for NC that we find useful and can benifit the community
  4. explore the possibilities of using NC to nest many of our software on

We are looking for people like yourself that is interested in the development of NC, to meet with our development team for a group discovery meeting. Please let me know if you are interested. We are meeting this week and next. Thank you

If you are interested in learning more about or project please check out our project page…

1 Like

Dear @anon63099092

That sounds really interesting. I had a look at your project description. If you need help on getting started with developing Nextcloud apps I’d be happy to try and help.

I can also jump on a call but I am based in Europe - so CEST timezone.

Are you meeting all week or only at a particular time?

@Daphne is also a good person to contact in case you have more concrete ideas of what kind of documentation would be helpful.

Cheers,
Max

2 Likes

Hello Max, thamk you so much! I am in great need of help. I juste returned the email. I hope you or someone sees it. Thank you!