GSOC’17 with CloudCV : Final Report

For me, the last three months were awesome as I worked with some really cool people, built an awesome project and learnt a lot of new things. I was working under CloudCV organisation on their project EvalAI. First of all, I would like to thank the mentors at CloudCV Deshraj Yadav, Shiv Baran Singh, Akash Jain, Taranjeet Singh for their support and guidance during my summer of code.

GSoC @ CloudCV

Project Goals

The features that we decided to work on during the summers are given below:

  1. Create an easy to go process for challenge creation on EvalAI
  2. Display all the submissions for challenge host under one tab
  3. Export all the submissions for participants as well as host
  4. Star/Unstar a challenge
  5. Design new dashboard
  6. Introduce feature for Challenge Analytics for participants as well as for hosts
  7. Update metadata for a submission
  8. Automate submission worker
  9. Write tests for API’s
  10. Write Documentation
Project Website
A description for the above mentioned features are given below.
A presentation giving a detailed description is also available.

Contributions on EvalAI

Major Contributions

Below is the list of contributions that I have made on EvalAI:

  1. PR #1037 , #1034, #1035: Back end API’s with tests for challenge creation using zip file.
  2. PR #1048, #1098 : UI for challenge creation using zip file.
  3. Examples for challenge creation using zip file : Repository
  4. PR #1085 : Back end API’s with tests for challenge creation using UI.
  5. PR #1045, #1031 : Backend API’s with tests for showing all submissions to a challenge host in a single tab.
  6. PR #1050 : UI for showing all submissions to a challenge host.
  7. PR #1171, #1184, #1193 : Back end API’s with tests for Star/Unstar a challenge.
  8. PR #1203: UI for starring/unstarring a challenge.
  9. PR #1126 : Automated the process for submission worker reloading.
  10. PR #1207, #1211: UI for New Dashboard and challenge analytics dashboard.
  11. PR #966 : Back end API’s with tests to show number of remaining submissions to participants.
  12. PR #1067: Add UI for showing number of remaining submissions to participants.
  13. PR #1110 : Export all submissions for challenge host.(Back end API’s + UI + tests )
  14. PR #1104 : Shifted documentation to read the docs.
  15. PR #1142 : Export all submissions for participants.(Back end API’s + UI + tests )
  16. PR #1152 : Challenge analytics back end API’s with tests for challenge host.
  17. PR #1160 : Challenge analytics back end API’s for participants.
  18. PR #1174 : UI for challenge analytics for participants.
  19. PR #1177 : UI for updating submission metadata.
  20. PR #928, #926 : Back end logs for changing challenge and challenge phase.
  21. PR #922 : Back end API’s for contact us form.
  22. PR #1031 : UI for Contact Us Form.

Minor Contributions

There are many minor contributions which includes bug fixes, adding test cases, minor UI changes, adding new logos etc.

Below is a list of hyperlinked Pull Request numbers:

#1028, #1029, #1031, #1042, #1054, #1057, #1060, #1061, #1062, #1063, #1064, #1076, #1077, #1082, #1088, #1099, #1100, #1104, #1105, #1106, #1154, #1168, #1179, #1182, #1195, #1196, #1198, #1204, #1206.

Still in review

PR #1199, #1126, 1085

Code Enhancement

  1. 150+ unit test cases were written during the summers.
  2. 92% of the code is covered under unit tests.
  3. 92% of the code is covered with comments and doc strings.

Where I stand now

  1. 2nd Highest Contributor on EvalAI among 34 contributors
  2. 100+ commits with 6500+ lines of code
  3. 1200+ issues were resolved in EvalAI after I started contributing from 24th isssue.

Conclusion

During my GSoC project, I faced some challenges to find a balance between curriculum and GSoC tasks, but constant support and guidance from mentors helped me to balance both. Working with mentors has been a lot of fun, and also interacting with various people in the community was overwhelming.