Google Summer of Code 2017 — Report
Project: GitHub Issue Parser App
Organisation: Mozilla
Program: Mozilla Campus Clubs
Mentor: Christos Bacharakis

Before diving in I would like thanks my mentor Christos Bacharakis to support me and me guide me to the right direction.
And for the upcoming students applying for GSoC — Mozilla. Don’t wait just start contributing. Working with Mozilla is super fun.
Project Overview
The purpose of this project is to create a software tool that is capable of parsing popular online version control repositories, like GitHub, via their public APIs in order to detect open issues of projects, classify them based on several predefined configurable criteria and serve them via a public RESTFul API. You can have a look at the back end repository here: https://github.com/mozillacampusclubs/issue_parser_backend
A complimentary web application should be created in order to consume this API and visualize the results of this service in an elegant and useful way. Have a look at the front end repository here: https://github.com/mozillacampusclubs/issue_parser_frontend/
To get more insight about the project head over to this design doc.
Related Pull Requests
Given below are pull request that I have created for both the front end and the back end repository.
Pull Requests Related to Back End
- Task documentation (Merged)
- add initial documentation (Merged)
- Testing (Merged)
- Setup Travis CI (Merged)
- Feature Sorting Issues in the Backend (Merged)
- Configure MySQL Database (Merged)
- Add Periodic GitHub API Fetcher (Merged)
- Implement issues model and views (Merged)
- Initial setup (Merged)
Pull Requests Related to Front End
- Task testing frontend (Merged)
- Task setup Travis CI (Merged)
- Feature sorting (Merged)
- Task issue listing (Merged)
- Initial setup (Merged)
- update readme (Merged)
Open Issues Related to Project
There are some issues related to project are open right now.
Open Issues Related to Back End
- Implement issue parsing functionality using `isuue-labels`
- Add regions model to add different regions to the system
- Dockerize Project
- Implement expected time feature
Open Issues Related to Front End
- Implement regions functionality enhancement
- Add a repository name and url field to backend & frontend
- Implement an easy to use expected time feature. JavaScript
Learning and Challenges
While I was working on my project I learned a lot of things like — writing design docs, writing quality code and effectively testing the code. Also, learned the TDD (Test Driven Development) approach. So, GSoC really helped me in growing myself on my road to becoming a super cool engineer.
There are some challenges I faced while working on my project, one of them is to back feed the backend from GitHub API. I solved this challenge by learning a library called Celery and used it to solve the problem of fetching data from GitHub servers.
How to Contribute
There are some open issues related to the project anyone who is interested in contributing to the project can visit these links.
Backend: https://github.com/mozillacampusclubs/issue_parser_backend
Frontend: https://github.com/mozillacampusclubs/issue_parser_frontend/
To get more insight about the project head over to this design doc.
