geocaml / ocaml-rtree

A pure OCaml implementation of R-Trees
BSD 3-Clause "New" or "Revised" License
26 stars 7 forks source link

Outreachy Meta Issue #21

Open patricoferris opened 9 months ago

patricoferris commented 9 months ago

Welcome Outreachy Applicants!

First of all, thank you so much for considering this project out of all the amazing open-source projects.

Secondly, this issue is a bit of a meta-issue. It has some helpful comments for potential applications during the contribution period. If you have a generic question feel free to drop it here (or on discord etc.).

To contribute during the contribution period there are some issues marked as good first issue. The steps to contributing I would say are:

  1. Get the project building! This means setting up OCaml, opam and running dune build successfully. Unfortunately we don't have that many issues so please set everything up before asking to be assigned an issue. This doesn't mean suffering in silence, if you are stuck do ask questions. The OCaml.org website has lots of useful tutorials on getting started: https://ocaml.org/docs/up-and-running
  2. Once you have things up and running, find an issue that you like the look of and ask to be assigned that issue. This helps make sure no one accidentally works on an issue someone else is already working on.
  3. Submit a PR for that issue -- even if the PR isn't ready I recommend to still open a draft PR as it is easy for us to help with any code if we can see your efforts so far. Again please do ask questions :))

If all the issues have been assigned, feel free to open issues yourself and we can discuss their suitability.

I'm also very excited to have @AryanGodara co-mentoring this project with me.

AryanGodara commented 9 months ago

Some R-Tree Materials

If anyone is interested in finding out more about R-trees (and variants like R*-trees) then there are some papers that you can read:

These papers go into quite a lot of detail so don't worry too much if they're difficult to understand. One good way for getting a feel for a data-structure is to look at an implementation in another language. There is an implementation of an R*-tree in Rust which may be useful for example.

Other Articles

An in-depth article showing the algorithm behind r-trees (something I found very helpful when I started out).

There is a video on the r-tree algorithm in two parts. Or a video by computerphile on k-d trees which might be a good primer.

Books for OCaml

And here are some books you'll definitely enjoy :) Real World OCaml OCaml: Correct, Efficient, Beautiful

And just like @patricoferris said, even though we encourage you to try to solve problems yourself first, don't hesitate to contact us if you're stuck. Remember, there are no silly doubts :)

Lukong123 commented 9 months ago

Thanks a lot, mentors for the resources. Getting to understand the codebase for now is kind of challenging for a beginner like me. For now, I have forked this repository and I have already set up Ocaml. For this project can we start by updating the readme so that other contributors like myself might find it easier?

AryanGodara commented 9 months ago

Thanks a lot, mentors for the resources. Getting to understand the codebase for now is kind of challenging for a beginner like me. For now, I have forked this repository and I have already set up Ocaml. For this project can we start by updating the readme so that other contributors like myself might find it easier?

Hello @Lukong123 , have you set up the repo locally and run the tests? A good idea would be to go through the available good first issues and pick one.

What did you mean by updating the README? Do you have any specific ideas?

Lukong123 commented 9 months ago

Thanks a lot, mentors for the resources. Getting to understand the codebase for now is kind of challenging for a beginner like me. For now, I have forked this repository and I have already set up Ocaml. For this project can we start by updating the readme so that other contributors like myself might find it easier?

Hello @Lukong123 , have you set up the repo locally and run the tests? A good idea would be to go through the available good first issues and pick one.

What did you mean by updating the README? Do you have any specific ideas?

Concerning the README for this particular repository, it gives an explanation of how to work with rtree but it does provide guidelines on how to set up the repo locally and run the tests which will be helpful for developers who want to work on the project. Please for running the test is it make and make install as stated in mariusae/ocaml-rtree?

patricoferris commented 9 months ago

Good question @Lukong123 ! I've added a simple contributor guide here: https://github.com/geocaml/ocaml-rtree/blob/main/CONTRIBUTING.md -- to run the tests use dune runtest after installing the dependencies of the project.

Lukong123 commented 9 months ago

Good question @Lukong123 ! I've added a simple contributor guide here: https://github.com/geocaml/ocaml-rtree/blob/main/CONTRIBUTING.md -- to run the tests use dune runtest after installing the dependencies of the project.

Thanks a lot I will check it out.

Lukong123 commented 9 months ago

Hello @AryanGodara @patricoferris considering some of the recent issues created (which I really appreciate since thanks to it, I'm getting to understand the codebase better and also the project and the Ocaml language) can we have some other issues like replacing leaf, child or node, searching for an entry etc this will give us more to work on and as a result understand even better.

VioletaSaravia commented 9 months ago

Hi! I missed the issues tracker last week, I spent the time getting up to level with Ocaml and reading the r-tree papers. I see that there aren't any issues untaken. Is there anything else could I work on? Cheers!

Mankavelda commented 9 months ago

Thanks so much @patricoferris and @AryanGodara for this guide

Lukong123 commented 8 months ago

@patricoferris @AryanGodara please sirs, with the issue I was working on, resolved, please are there tasks that I can work on? Since nearly all the issues already have people assigned to it?

patricoferris commented 8 months ago

Hey everyone, as you come to write up your timelines it might be useful to have some broad strokes you can use to help shape it. Please note, I'm not too worried about the details in the timeline as things always change, but it's good to have some idea of what you want to do:

This is not an exhaustive list and I'd love to see your thoughts in more personalised timelines. Thank you once again for contributing to ocaml-rtree ^^

kushalpokharel commented 8 months ago

Hi @patricoferris, do we have any community-specific questions?

patricoferris commented 8 months ago

@kushalpokharel none from me 👍