Public Lab Wiki documentation



GSoD Ideas

This is a revision from April 28, 2020 22:02. View all revisions
5 | 11 | | #19139

This is the ideas page for Public Lab's Google Season of Doc program, programs for student fellows to work on free and open source projects.

Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page

Get in touch

We love ❤️ to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here:

Contribution guidelines

Our Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over!

We also love it when students show that they can work well with us by trying a first-timers-only issue, and even submitting a pull request. This gives us confidence that you've read our contribution guidelines and would be ready to jump into a project. To get started, see our welcome page:

Welcome page: https://code.publiclab.org/#r=all


How to post a proposal

(for technical writers)

Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started!

plots2 system diagram and roadmap

Part of: https://github.com/publiclab/plots2

Description: PublicLab.org's codebase is described in a diagram of database models in our README, and documented in our data model README at https://github.com/publiclab/plots2/blob/master/doc/DATA_MODEL.md. But we need a better explanation and documentation of the major systems, not just the data model. This project will expand on the diagram to map out major systems such as:

  • editor
  • comment editor
  • tagging UI/API
  • standard node conventions
  • login system
  • revisions

It will also recap our roadmap for the codebase, including efforts to deprecate old code (https://github.com/publiclab/plots2/issues/956), consolidate and reorganize JavaScript code, and expand and extend our test suite. Finally, it will show interconnections between our different project repositories such as PublicLab.Editor, inline-markdown-editor, image-sequencer, leaflet-environmental-layers, leaflet-blurred-location and leaflet-blurred-location-display`.

List: plots-dev@googlegroups.com, https://publiclab.org/chat

Prerequisites: JavaScript, Ruby on Rails

Difficulty Level: medium

Potential mentors:

  • Jeff Warren

[prompt:text:plots2 system diagram mentor names here]


plots2 Ruby and JavaScript style guidelines

Part of: https://github.com/publiclab/plots2

Description: Coding style and consistency needs work and supporting documentation in our projects, and this project will include both clarity on which styles we follow, distinctions between recommendations and requirements, and guidance on running and using Rubocop or other linting and style review systems. It will also include providing supportive and non-negative style tips and feedback at key junctures such as automated PR reviews, and develop a re-usable issue workflow for taking up style-related issues in the first-timers-only system.

List: plots-dev@googlegroups.com, https://publiclab.org/chat

Prerequisites: JavaScript, Ruby on Rails

Difficulty Level: medium

Potential mentors:

  • Jeff Warren

  • Emily [prompt:text:plots2 style guide mentor names here]


plots2 UI style and usage guide

Part of: https://github.com/publiclab/plots2

Description: We have a new UI Style Guide under development, and this project will expand, annotate, and document it, with examples, for those looking to add new pages and interfaces to our site.

Read more at: (coming soon)

List: plots-dev@googlegroups.com, https://publiclab.org/chat

Prerequisites: JavaScript, Ruby on Rails

Difficulty Level: medium

Potential mentors:

  • Jeff Warren
  • Cess [prompt:text:Notifications system mentor names here]

leaflet-environmental-layers layer API and contributing guide

Part of: https://github.com/publiclab/leaflet-environmental-layers

Description:

Read more at:

List: plots-dev@googlegroups.com, https://publiclab.org/chat

Prerequisites: JavaScript

Difficulty Level: medium

Potential mentors:

  • Jeff Warren

[prompt:text:LEL contributing guide mentor names here]


ImageSequencer module API and contributing guide

Part of: https://github.com/publiclab/leaflet-environmental-layers

Description:

Read more at:

List: plots-dev@googlegroups.com, https://publiclab.org/chat

Prerequisites: JavaScript

Difficulty Level: medium

Potential mentors:

  • Jeff Warren

[prompt:text:IS contributing guide mentor names here]