OUTREACHY - Think about your audience

OUTREACHY - Think about your audience

Public Lab Editor

Introduction

Hi guys, in this blog post, I’m will talk about my project at PublicLab and how you can contribute to it. I will also be sharing what I like about my project, my struggles and pain points and few other things.

PublicLab Editor

Public Lab is a non-profit organization founded in around 2009/2010. It was made to support communities facing environmental justice and promote community science. It is also Open Source and allows contributors to Collaboratively contribute to the purpose of the organisation.

The Public Lab editor is a product of the Public Lab organization. It is a simple editor with which you can create and publish contents for other members of the public to freely access.

As an Outreachy intern at Public Lab, I’m working on refining the Public Lab editor for better usability and better user experience. Currently, I’m working with the following technologies: jQuery, Javascript, Nodejs, Bootstrap, Jest, Puppeteer.js Public Lab was written with the jQuery framework and mostly styled with Bootstrap. Initially, Public Lab used Jasmine for writing unit tests but currently we moved to Jest due to a setback with Jasmine. Public Lab uses Puppeteer.js for web scrapping in Nodejs, this way we could evaluate the web page and write unit tests based on the page content.

Who Can Contribute to the Public Lab Editor Project

If you are skilled with any of the stack above or are interested in learning about them, you are welcome to contribute. Before I started contributing to Public Lab, I only knew javascript, HTML5 & CSS3 and a little Bootstrap. At first I thought because I didn’t know the others I couldn’t be relevant to contribute but since I started I’ve learnt a lot about the technologies listed about and this is the beauty of contributing to Open Source esp in a community like Public Lab, there is a large room for growth and learning.

What excites me about Public Lab and What I’ve learned so far

I love to learn new stuffs and not just learn them but apply them in a meaningful way. Public Lab offers me both, I get to learn and then use what I learn to contribute to the project. I haven’t learnt so much in such a short time before. When I got started with Public Lab, I didn’t know how to write unit tests even though I understood how they worked, I also had not heard of web scrapping or HTML parsing prior to this time. I was able to learn this while working with my mentors on my project. Now I have a decent idea about how those work. My project was stuck because all tests were failing and so a proposed solution was to move the tests from jasmine to jest (non which I knew how to use). I started to figure it out and after 2weeks of trying to resolve this with a library called Jsdom, I hit a major roadblock and had to start all over with Puppeteer.js and eventually we made progress. Once the tests all passes, it is then safe to go on to implement certain UI changes to the Public Lab editor. I also improved with collaborating with other contributors and sharing my opinions as well as reviewing first timers contributions on Github.

Conclusion

If you’re a looking to get started contributing to Open Source, Public Lab is a very good place to get started. You get the loving support from community maintainers and members. You can have a look at the Public Lab Repo