Lumen

From Berkman Klein Google Summer of Code Wiki
Jump to navigation Jump to search

https://lumendatabase.org/

Project Description

The Lumen database collects and analyzes legal complaints and requests for removal of online materials, helping Internet users to know their rights and understand the law. This data enables us to study the prevalence of legal threats and let Internet users see the source of content removals. Lumen is a Ruby on Rails web application and API running on a Postgres database. The front end uses HTML, Javascript and SASS. Coders will have the opportunity to add features and fix bugs using test driven development with RSpec. Potential projects include:

  • helping us find ways to more efficiently scale the amount of data we can intake
  • integrating a CMS so staff can manage content pages without developer help
  • improving our Rails Admin interface to make administrative tasks easier for Lumen project staff
  • tracking down memory issues and working on optimizations
  • building new administrative tools
  • integrating with perma.cc

Ideal Candidate

Lumen is interested in candidates with experience with the tools mentioned above. Most important is experience with Ruby on Rails, RSpec, and git. Skills that will merit additional consideration include Postgres, Javascript, HTML, SASS, and Elasticsearch. Developers of Lumen are responsible both for the implementation and design of the new features so candidates who are familiar with UI/UX conventions and making design decisions are preferred. Our ideal candidate would be able to take a brief feature request and independently turn it into a draft feature. At the same time, you'd also be able to do requirements analysis and iterate on work collaboratively, recognizing where you need input from the product owner and your fellow developers. Ideal candidates should also be comfortable with identifying bug test cases and instrumenting Rails to find the source of issues along with researching potential solutions in documentation. Candidates will be have the freedom to propose and implement their own features and ideas, along with the privilege of working with experienced developers to improve their coding skills.