Mozilla/addons-frontend Project
In one of my earliest blogs, I wrote about potentially contributing to the mozilla/addons-frontend project. I am pleased to record that as part of this release I was able to do this by working on the following First Issue.
Core Technologies
React + Redux
Code written in ES2015+
Universal rendering via node
Unit tests with high coverage
Environment Setup for mozilla/addons-frontend on Mac OS
- Install Homebrew if this package manager for macOS (or Linux) missing by running
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Install yarn by running on Mac
brew install yarn
to manage dependencies and run scripts - Check yarn version by running
yarn --version
- Install all dependencies by running
yarn
- Start a local server localhost:3000 that connects to a hosted staging server by running
yarn amo:stage
First Issue
I added tooltips to the Extension Workshop and DevHub header links:
First PR: This pull request was merged.
Oppia Project
My Second Issue was for the Oppia Project, owned by the The Oppia Foundation, a California based non-profit organization. Oppia is an online learning tool that enables anyone to create and share interactive activities called explorations to simulate a one-on-one conversation between a tutor and students.
Core Technologies
- Python
- AngularJS
- Built on top of Google App Engine
Contributing Code Requirements for Oppia
I had to follow the installation instructions on the developer wiki. I also had to follow their Contributing code to Oppia guidelines. I followed their detailed instructions concerning how to fork, clone, create a pull request for this project in order to meet their requirements.
Installing Oppia on Mac OS
Install Python 2.7 by running brew install python@2
Install setuptools needed to install coverage to check test coverage for the Python code by running sudo easy_install setuptools
Install pyyaml to parse YAML files by running sudo easy_install pyyaml
Set up a virtual environment for the project dependencies by runningpip2 install virtualenv
python2 -m virtualenv env
Activate the virtualenv by running source env/bin/activate
Running on Development Server
On localhost:8181 bash scripts/start.sh
Preserve the contents of the local datastore between runs by using bash scripts/start.sh --save_datastore
Run test bash scripts/run_tests.sh
Second Issue
I modified the inline messages below the Title and Goal textboxes to state that a minimum entry of 15 characters was required. I also updated the validation for the Title field to match the 15 character minimum entry requirement.
Mozilla/addons-server Project
I inquired about working on a bug for the Mozilla Add-ons Back End (Server) front end at the same time I inquired about the front-end mentioned above, as this would give me both exposure to and experience with working with both the Client and the Server sides of the Mozilla add-ons software technologies. I am pleased to be able to record that I have just received the go-ahead to work on this bug so I am updating my Release 4 blog to reflect this Third Issue.
While waiting for permission I did some initial setup work. I successfully installed the required Open source Docker software on my Mac, to handle virtual container sessions.
Core Technologies
- Python
- Django app and API
Install with Docker
When I tried to run the addons-server using make initialize_docker
, I ran into issues similar to this reported issue. There have been significant updates since that time, so I will try to fork and clone the latest version of the project repository, set up environment, and see if this resolves the problem.
Conclusion
Overall, I am very pleased with the way my participation in Open-Source projects has gone. I was able to get more hands-on experience with Git, project setups on both Windows and Mac OS environments, and some coding experience with Python, AngularJS, React, and CSS.
Image: ‘firefox stickers!!!‘
http://www.flickr.com/photos/96941606@N00/2094632835
Found on flickrcc.net