Google Summer of Code 2019 - Final Submission
For the last three months, I’ve been working with Vega, an open source organisation selected for the Google Summer of Code program. It has been an amazing experience and I’ve learnt a lot over the summer under the mentorship of Dominik Moritz.
This gists contains information of all the work I have accomplished in 3 months. The back-end service, for vega-editor, was set-up from scratch and deployed on https://vega.now.sh/. Around 60 commits and 10,000+ additions were created.
About the project
The project is a platform for hosting Vega and Vega-Lite visualizations. It is collection of few API endpoints which enables a user to authenticate via GitHub and display a list of Vega and Vega-Lite compatible gists. The user can further load this gist in the editor since both of the projects have been integrated.
I am currently working on a feature for the project which can be used to save visualizations directly from editor to GitHub gists which will eventually enable a user to fork visualizations.
The documentation of the service has also been partially written but it is mostly from a developer's perspective. The link to it is: https://vega.github.io/editor-backend/.
Links to my work
- Configuration of session based authentication
- Deploy on production: #13 and #14
- Generate documentation for the project
- Add pre-commit hooks for formatting code and generating documentation on the fly.
- Add route for listing public and private gists of a user
Apart from working on the back-end service, I also worked on integrating it with the editor. I also polished it a little bit by making the design more concise.
- Space out editor-header
- Simplify modal structure
- Integrate authentication button and gist API with editor
I also added monaco editor actions and commands tab to toggle comand palette in the editor.
Status of the project
The foundation has been set and further development is very easy. Gists saving has to be added. I am currently working on it.
More than an internship
I would like to thank Dominki Moritz for being an awesome mentor who was always very encouraging and understanding. Inspite of his busy schedule, he was really responsive which helped getting me my doubts cleared as soon as possible.
It was a great summer working on this project and since I am familiar with large part of the front-end and back-end project, I would continue to contribute and keep adding new features or solving bugs in the vega ecosystem. GSoC is not the end.