Skip to content

Ankit Kataria Report

Satvik Ramaprasad edited this page Aug 23, 2019 · 2 revisions

Community Platform Improvements Project

GSoC Final Report Blog

Final Report

Summary

This summer my aim was to do several feature additions to increase the overall user base of our platform. It involved working on and improving some pre-existing features and also working on several new ones from scratch.

Checkout out my proposal here!

Also, check out the blog series I did on my awesome journey here!

Code

Backend tests

I worked on adding an RSpec based test suite from scratch. The test coverage increased from 0 to 83%. With this, I also set up Coveralls for comprehensive coverage reports on contributions.

Pull Requests: #148, #241, #391, #403 (All merged)

Blog post: GSoC ‘19 with CircuitVerse

Coveralls report: github/CircuitVerse

Assignment Grading

This feature addition allowed group mentors to easily grade mentee submissions on a scale of 1-100, A-F or any other custom scale. The results of grading can be exported as a CSV for further usage.

Pull Requests: #390, #395 (All merged)

Blog post: Init: Assignment Grading

Restricting Circuit Elements

This feature addition gave mentors a way to restrict the circuit elements used inside assignments. Students will be shown a warning on using restricted elements which will also be visible to the mentor while grading. It involved work in both the front and back end. I gained a lot of insight into how the various front end components worked inside the javascript simulator while working on this task.

Pull Requests: Code merged in #397 ( #392 Original PR)

Blog post: Init Restricted Circuit Elements

Featured Circuit Management

This allowed the admins to feature noteworthy circuits on the platform. Featured circuits can be viewed by users on the landing page. The automation of featured circuit detection is a task that is yet to be explored.

Pull request: #261 (Merged)

SEO Improvements

There was a very basic SEO implementation in the present codebase. After extensive research, I added SEO improvements for Facebook, Twitter and Google.

Pull request: #406(Merged)

Blog post: rake search:begin

Research Doc: SEO Analysis

Search Engine

A very basic Postgres based full-text existed for projects. I worked on extending this search to the User model and overhauled the search engine architecture using an Adapter based design. Support for Solr was also added using sunspot. This task also involved extensive research.

Pull Request: #402 (Merged)

Blog post: Re-Searching Search, Adapters, Factories and Search

Research Doc: Search Analysis

Interactive Book CI

Interactive Book is an effort by Aman Singla to make it easy for the young audience of our platform to get started with digital electronics. I worked on integrating the repo with CircleCI to check for Jekyll builds.

Pull Request: #11 (Merged)

The Bucket List

The Bucket List issue #412 was opened in the final phase. I worked on a few tasks mentioned, one of which was user mail subscription and custom mails.

Pull requests:

  • User mail subscription: Code merged with #423 (Original PR #419)

  • Commontator mail fixes: #427, #429 (All merged)

  • Feature circuit botton and channel link fixes: #421 (Merged)

Blog post: Final Phase and Bucket Lists

Work left

Currently, I’m working on implementing a staging environment for CircuitVerse. It was an addition suggested by me in the proposal and is being actively worked on right now. The basic idea is having a special branch that deploys an image of the repository to a staging environment so that it can be tested by all the developers. Its major application will be in testing simulator feature additions.

Clone this wiki locally