Google Summer of Code 2018 Final submission

Anumeha Agrawal
4 min readAug 13, 2018

--

Google summer of code 2018 is at its final stage and it’s time to submit final project reports or final work product. I feel that a blog post is the best way to showcase the work that has been done in the past 12 weeks .

I worked on the communities project and slack-ghc project along with my mentors at Systers. During GSoC, I worked on revamping with the websites with MEAN stack as the boiler plate.

Communities

Systers provides a private, safe online forum for women involved in technical aspects of computing . This is done through workshops , seminars and talks conducted across the world to connect women from different backgrounds. In order to familiarize people with the upcoming events and bring together people of different backgrounds, the community website has been built.

This project involved all steps right from setting up the Angular repository to deployment on Heroku. You can find the deployed app here :- https://systers-communities.herokuapp.com/. The project has been developed from scratch.

The PR’s that were merged during the program were from PR #19 to PR #100 and they can be found here :

  1. Set up the basic files #25
  2. Header and Footer #30 , #47 , #78 , #99
  3. Contact Page #31 , #42 , #50 , #55 , #100
  4. Home Page #32, #49 , #88, #94 , #79
  5. Communities Page #40
  6. Calendar Integration #41 , #58 , #63 , #76 , #77
  7. Testing of website #54
  8. Deployment #75 , #102

During this project I also wrote several blog posts related to this project . They can be found here — https://medium.com/@anumehaagrawal29

Since the project is open source, all code can be found in the github repository master branch . The code has been documented in detail and the documentation can be found here :- https://docs.google.com/document/d/1WQRAZhlMsZ2IOIa6OwtTFw1Ssp_HNZaRHiTir_e48aM/edit?usp=sharing. I have also recorded all my weekly work in the wiki page of the communities repository.

GHC Slack inviter

The slack inviter aims to send automated mails to users who enter their email ID to join the GHC slack channel. This sends the user a templated email with a link to the slack channel . Recaptcha is also enabled to avoid spam. The data of the user ie the email address and date of sign up is stored on Mongo DB which is hosted on mlab.

This project is an express JS app and involved all steps right from setting up the node JS repository to deployment on Heroku. The deployed app can be found here :- http://slack-ghc.herokuapp.com/. This project has been developed from scratch.

The PR’s that were merged during the program were from PR #15 to PR #32 and they can be found here :

  1. Set up basic files #15
  2. UI of slack inviter #14 , #25 , #26 , #28 , #33 , #34
  3. Templating of email #21
  4. Deployment #30

Since the project is open source, all code can be found in the github repository gsoc18-code branch . The code has been documented in detail and the documentation can be found here :- https://docs.google.com/document/d/1qAulyaVZNn1tp3VwN5RHaGTZWifSY_A6i5sncrr2l2c/edit?usp=sharing .

The slack inviter looks like this :-

Contributors Page of Systers.io

I also worked on the contributors page in the systers.io website. The contributors data was fetched from PyGithub API and rendered as a template . I have also used Angular Pipes and filters to sort contributor by name and project . You can see my work here :- https://systers-github-io.herokuapp.com/contributors

The following pull requests were merged

  1. Contributors Page #223 , #233

During the final demo at Systers, my project was recorded on youtube . You can find the project demo here :- https://www.youtube.com/watch?v=Mn-hroQWDnI&index=6&list=PLhVJyXjT75i_T-F70O0DGfz_Fu9aBpnI6

The components have undergone basic testing and Travis CI is also enabled.

It has been an extremely productive summer with an exponential learning graph at Systers.

This also marks the end of my blog series .

Thank you

--

--

Anumeha Agrawal

I am a programming enthusiast with an urge to learn and discover new things related to computer science.