Google Summer of code — Final Evaluation

Final Submission of GSoC’18 for WorldBrain.io — Verifying the Internet.

subrat sahu
2 min readAug 12, 2018

My name is Subrat sahu, I have been working on Memex an web information management tool in the organisation WorldBrain.io — Verifying the Internet under my mentors Jonathan Poltak Samosir and Oliver Sauter.

What is Google Summer of Code?

Google Summer of Code is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3 month programming project during their break from school.

About Memex

Memex is a browser extension that lets you create, search and eventually share your personal web of knowledge. It provides multiple features like Full-Text-Search all websites you visited(except in icognito mode), you can filter data, make annotations and comments and many more exciting feature.

WorldBrain.io — Verifying the Internet

My contibutions

My work during GSoC period was to implement a new feature to Memex known as Collections(Custom lists), that enables users to sort their data(visited web pages) into lists and later can easily access them and also refactor the old filter UI with the new one.

Memex is majorly build using JavaScript(React.js), Redux and TypeScript. It used Indexed DB in browsers to store users data locally and Dexie.js as a wrapper on the indexedDB, we have created our own wrapper over Dexie.js for decreasing too much dependency on this library.

The GSoC period started with working on UI of the Collections feature. The UI is mainly contained in the sidebar of the overview page of memex extension. For building a cool and customisable sidebar I used React Burger Menu. The sidebar is a React container that contains all the other containers/components.

Important links

Pull requests:

  1. feature: https://github.com/WorldBrain/Memex/pull/401.
  2. tests: https://github.com/WorldBrain/Memex/pull/469
  3. documentation 1: https://github.com/WorldBrain/Memex/pull/487
  4. documentation 2: https://github.com/WorldBrain/Memex/pull/469
  5. fixes: https://github.com/WorldBrain/Memex/pull/473

Features implemented:

  1. https://github.com/WorldBrain/Memex/issues/479

Overview

The directory src/custom-lists contains the main code for the custom lists. The UI/UX part of the feature lives in the src/custom-lists/components directory and the main database related parts lives in the src/custom-lists/background directory. All the data is stored in the Indexed DB in various tables, the table for collections contained details on the collections, each collection had its own id. The pages associated also had their unique table. The data is fetched from the indexedDB and stored in redux state for maipulation.

Parting Thoughts

Working at WorldBrain has been a great experience for me. It has been really steep learning curve this summer under Google Summer of Code. This has further enhanced my interest towards open source.

Thanks to the community for their constant support and guidance, would not have been possible without the guidance of my mentors Jonathan Poltak Samosir and Oliver Sauter.

Really enjoyed this summer, Hoping for contibuting more, and giving back to the community. :)

--

--