Public Lab Wiki documentation



SoC ideas

This is a revision from January 24, 2018 03:15. View all revisions
31 | 221 | | #868

This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code 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://publiclab.github.io/community-toolbox/#r=all


How to post a proposal

(for students)

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!

Read the call for proposals, ask questions, and post your ideas:

(2017 program link -- 2018 coming soon!) Post a proposal here -- and view proposals posted so far

Questions



Ideas

Want to propose an idea? Click here

The following have been reviewed and formatted by our Summer of Code team.

Mentors, please add your name by any project you'd be able to mentor with!

Email integration project

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

Description: Daily "batch digest" email subscriptions using Rails ActiveJob (https://github.com/publiclab/plots2/issues/1119), reply-by-email to comments on the site using Mailman following some of these instructions: https://github.com/publiclab/plots2/issues/214 -- and finally, a user interface for managing digest settings and email notification settings. See this for more details and related issues:https://github.com/publiclab/plots2/milestone/9

List: plots-dev@googlegroups.com

Prerequisites: Ruby on Rails

Difficulty Level: medium

Potential mentors: Jeff Warren, @icarito, Mayank Kashyap(@mkashyap354)


OAuth-based login for FB, Twitter

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

Description: Very highly sought! Add OAuth user login so people can log in via Google account, Facebook, Twitter. Let's start with a single of these -- Facebook -- and repeat integration steps for additional OAuth services. This will include development of a "Log in with _____" interface, tests, and integration with the profile tagging system to link accounts with the OAuth originating account.

https://github.com/publiclab/plots2/issues/683

List: plots-dev@googlegroups.com

Prerequisites: JavaScript, Ruby on Rails

Difficulty Level: easy/medium

Potential mentors: Jeff Warren (@warren), Supun Wanniarachchi (@supun)


Interactive Project Maps

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

Description: A browseable map of projects (wiki pages tagged with "project" tag) based on this initial implementation (https://publiclab.org/wiki/inline-maps) for people to find and learn about projects near them. This uses the Leaflet map library, and we'd like clicking on the map marker to show things like the title, lead image, # of contributors, and related topics names (tags). This would require both JavaScript work with Leaflet and Ruby on Rails work to generate the listings, as well as interface design work to develop the browse-able map interface. An alternate view would display current map marker records as a list.

List: plots-dev@googlegroups.com

Prerequisites: JavaScript, Ruby on Rails

Difficulty Level: medium

Potential mentors: Jeff Warren (@warren), Stevie Lewis (@stevie)


Social Media Integration

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

Description: People are increasingly engaging with Public Lab community and questions via Twitter or Facebook. We'd like to prototype and test out a means for posts on PublicLab.org to be tweeted (this already happens via IFTTT.com, but could be improved) and then (the hard part) for responses to those tweets to be shown on the original post automatically. This could be either with a sidebar "widget" or even more ideally, with each response being a comment with an embedded tweet, so that the original author is notified. If the text of the tweet could be saved in our database as part of the comment, and therefore be searchable, this would be our ultimate goal.

List: plots-dev@googlegroups.com

Prerequisites: JavaScript, Ruby on Rails, Twitter API

Difficulty Level: medium

Potential mentors: Jeff Warren (@warren), @liz


v2 API development

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

Description: Our RESTful API has progressed rapidly in the past 2 years, and now includes a Grape/Swagger interface -- all documented at https://github.com/publiclab/plots2/blob/master/doc/API.md -- but we now need to migrate older API code into the new standard Swagger system and to make new API endpoints available for the statistical data we provide at https://publiclab.org/stats. We additionally need documentation and integration of our token-based write API to enable 3rd party app integration including bots and command-line clients.

List: plots-dev@googlegroups.com

Prerequisites: Ruby on Rails

Difficulty Level: medium

Potential mentors: Jeff Warren (@warren), @liz


Upgrade to Rails 5

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

Description: We're doing a more aggressive campaign to keep our dependencies up to date, having recently migrated to Rails 4.1, and with some progress to Rails 4.2. We expect the Rails 5 upgrade to be easier, but still a substantial task.

List: plots-dev@googlegroups.com

Prerequisites: Ruby on Rails

Difficulty Level: medium

Potential mentors: Jeff Warren (@warren), @icarito


Rich Editor Extras

Part of: https://publiclab.org / https://github.com/publiclab/plots2, https://github.com/publiclab/PublicLab.Editor/

Description: Better user interfaces for inserting inline power tags like Activity grids, Questions grids, maps, and other features (many listed here and here) from inside the Rich Editor and/or the Inline Editor interfaces. This will require Bootstrap HTML UI work on the PublicLab.Editor project, as well as integration with the PublicLab.org website back-end, ideally through our growing standard API: https://github.com/publiclab/plots2/blob/master/doc/API.md

For a starting piont, see an example interface in the Editor project demo, here: https://publiclab.github.io/PublicLab.Editor/examples/

List: plots-dev@googlegroups.com

Prerequisites: Ruby on Rails, JavaScript, Bootstrap

Difficulty Level: medium

Potential mentors: Jeff Warren (@warren), Liz Barry (@liz)