contributing to code for social good€¦ · sign up, list their technical skills find projects...

1
Contributing to Code for Social Good An Exercise in Humanitarian Free and Open Source Software by Emily Coleman, Gabrielle Cozart, and Savannah Floyd College of Charleston, Department of Computer Science Spring 2018 | CSCI 462 | Dr. James Bowring What is Code for Social Good? Code for Social Good (C4SG) is a website dedicated to connecting volunteers who have technical skills with the volunteer organizations that need them. Volunteers can sign up, list their technical skills find projects that they’d be interested in contributing to, and apply to work with specific organizations who need their help. The development and maintenance of C4SG is itself performed by a community of open source developers. Its website, app.code4socialgood.org, needs web developers who can fix bugs, fix UI issues, and implement new features. C4SG has also had two mobile apps, one for Android and one for iOS, in development since this January. Contributions: Website Display number of projects The page that lists every volunteer did not originally display the number of projects that each person had signed up for. Fix “share by email” bug When pressed, the below email icon would mistakenly open an empty browser window in addition to an email client. The button now only opens the user’s native email client, as intended. Display category or job title in list view For each organization, show that organization’s category alongside a corresponding icon. For each volunteer and project, show its job title and an appropriate icon. Conclusions Working with Code for Social Good was a valuable experience that taught our members about the finer points of picking up an unfamiliar open source project and running with it. Our members’ experience levels with open source ranged from years of practice to none at all, but we all benefited from this project. Learning how to communicate with the rest of the community through Slack and GitHub was a crucial part of our success. We have also developed the kind of teamwork and problem solving skills that will become valuable in the workforce. Being able to develop on two separate platforms (Web and Android) gave our team a broader conception of what it is like to work on multiple projects at once. All in all, we were able to make some small but real contributions to a humanitarian open source product, a process that both taught us valuable lessons about software engineering and made the internet a slightly better place to be a technical volunteer. Contributions: Android App Parse volunteer JSON data into meaningful data Organize volunteer data into viewable components via a recycler view Allow the user to view volunteers by clicking on an entry in the recycler view Technologies GitHub C4SG hosts the source code for all of its initiatives on GitHub. This includes the code for its website and mobile apps. Our workflow involved choosing an issue listed on GitHub, assigning ourselves to it, and then fixing it in the following days or weeks. Angular App.code4socialgood.org is written primarily in Angular, a Javascript framework geared towards building responsive websites. Visual Studio Code When adding features to or debugging the website, we used the Integrated Development Environment (IDE) Visual Studio. Visual Studio is developed by Microsoft and allows integration with Git. Android Studio Similarly, the Android mobile app is developed using Android Studio, an IDE specifically designed to create Android apps. Slack Developers of these projects ask questions and collaborate with Slack, a messenger app geared towards the workplace. Initial Application Our Contribution Provided Wireframe

Upload: others

Post on 14-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Contributing to Code for Social Good€¦ · sign up, list their technical skills find projects that they’d be interested in contributing to, and apply to work with specific organizations

Contributing to Code for Social GoodAn Exercise in Humanitarian Free and Open Source Software

by Emily Coleman, Gabrielle Cozart, and Savannah FloydCollege of Charleston, Department of Computer Science

Spring 2018 | CSCI 462 | Dr. James Bowring

What is Code for Social Good?

Code for Social Good (C4SG) is a website dedicated to connecting volunteers who have technical skills with the volunteer organizations that need them. Volunteers can sign up, list their technical skills find projects that they’d be interested in contributing to, and apply to work with specific organizations who need their help.

The development and maintenance of C4SG is itself performed by a community of open source developers. Its website, app.code4socialgood.org, needs web developers who can fix bugs, fix UI issues, and implement new features. C4SG has also had two mobile apps, one for Android and one for iOS, in development since this January.

Contributions: Website

● Display number of projectsThe page that lists every volunteer did not originally display the number of projects that each person had signed up for.

● Fix “share by email” bugWhen pressed, the below email icon would mistakenly open an empty browser window in addition to an email client. The button now only opens the user’s native email client, as intended.

● Display category or job title in list viewFor each organization, show that organization’s category alongside a corresponding icon. For each volunteer and project, show its job title and an appropriate icon.

ConclusionsWorking with Code for Social Good was a valuable experience that taught our members about the finer points of picking up an unfamiliar open source project and running with it. Our members’ experience levels with open source ranged from years of practice to none at all, but we all benefited from this project. Learning how to communicate with the rest of the community through Slack and GitHub was a crucial part of our success. We have also developed the kind of teamwork and problem solving skills that will become valuable in the workforce. Being able to develop on two separate platforms (Web and Android) gave our team a broader conception of what it is like to work on multiple projects at once.

All in all, we were able to make some small but real contributions to a humanitarian open source product, a process that both taught us valuable lessons about software engineering and made the internet a slightly better place to be a technical volunteer.

Contributions: Android App

● Parse volunteer JSON data into meaningful data ● Organize volunteer data into viewable components via

a recycler view● Allow the user to view volunteers by clicking on an

entry in the recycler view

Technologies

● GitHubC4SG hosts the source code for all of its initiatives on GitHub. This includes the code for its website and mobile apps. Our workflow involved choosing an issue listed on GitHub, assigning ourselves to it, and then fixing it in the following days or weeks.

● AngularApp.code4socialgood.org is written primarily in Angular, a Javascript framework geared towards building responsive websites.

● Visual Studio CodeWhen adding features to or debugging the website, we used the Integrated Development Environment (IDE) Visual Studio. Visual Studio is developed by Microsoft and allows integration with Git.

● Android StudioSimilarly, the Android mobile app is developed using Android Studio, an IDE specifically designed to create Android apps.

● SlackDevelopers of these projects ask questions and collaborate with Slack, a messenger app geared towards the workplace.

Initial Application Our Contribution Provided Wireframe