Skip to content

GSoC'19 Project List

Satvik Ramaprasad edited this page Aug 23, 2019 · 1 revision

GSoC'19 Project List

Welcome to the projects page. We encourage candidates to come up with their own project idea. We want candidates to note that details of project 5 are in the CircuitVerseDocs repository.

Join our Mailing List and stay tuned for updates.

Use our Template for the proposal. We recommend the use of google docs for the proposal.

Project 1 - Subcircuit Layout

Difficulty: Hard

Brief Explanation:

SubCircuits are used in CircuitVerse to reuse circuits. Currently, the user can only choose the position of inputs, outputs and the dimension of the subcircuit. While this is more than sufficient for most users, advanced users require more flexibility. The following features are to be implemented

  • Selectively choose LEDs (DigitalLed, RGB Led, Analog Led) and position them on the subcircuit
  • Selectively choose Buttons, Steppers and position them correctly
  • Clock to be externally connected (Currently the clock is internal)
  • Custom text elements

Check out the issues to learn more

Issues

Further Reading :

Expected results

  • Design and implementation of the data structure which can maintain state information of the above structure
  • Backward compatibility - Old circuits with an old data structure to automatically convert to the newer data structure
  • Subcircuit rendering - Correctly render the subcircuit as per the design.
  • User Interface - The layout mode where the subcircuit design can be configured.

Knowledge/Skills Involved: JavaScript, DataStructures, HTML5 Canvas Rendering

Mentor: Satvik Ramaprasad

Project 2 - Testbench

Difficulty: Hard

Brief Explanation:

Circuit designers need a way to test the correctness of their circuits once they create them. This is crucial to ensure that the circuit is as per specification. This ensures reusability and generalisability of circuits.

Features to be implemented are:

  • Testbench creator suite
    • Test cases by truth-table
    • Timing specification
    • Other test configurations
  • Create, share test benches similar to projects
  • Integrate test benches with the simulator
  • Run tests within the simulator and generate correctness report
  • Testbench - assignment integration

Expected results

  • TestBench Suite
  • Testbench - simulator integration
  • Test report generator

Knowledge/Skills Involved: JavaScript, Rails, Digital Logic Design, Testing

Mentor: Satvik Ramaprasad

Project 3 - Search Engine

Difficulty: Medium

Brief Explanation:

Currently, CircuitVerse uses google custom search as the search engine. CircuitVerse needs to have a customizable search engine so that users can have more personal experience. The website needs better SEO with respect to project pages so that they show up on search results.

Expected results

  • Custom Inbuilt Search engine
    • User search
    • Group search
    • Project search
  • Project tags feature
    • Search by tag
  • Other SEO optimizations

Knowledge/Skills Involved: Search Engines, Elastic Search, SEO, Rails

Mentor: Gaurav Koley

Project 4 - Community platform improvements

Difficulty: Medium

Brief Explanation:

As CircuitVerse grows as a community, the needs of the community evolve. As a result, new features need to be developed to meet community requirements. One section of the community includes teachers who use the platform in their class. Another section of the community includes hobbyists who use the platform to have fun and exchange knowledge with others. This project involves implementing some of the features requested by them.

Some possible results

  • Assignment features - Teachers use the platform for assignments, they would like to have options for restricting the use of certain elements
    • Grading
    • Disable copy/paste in an assignment
    • Restrict usage of circuit elements
  • Featured/Trending projects - Users would like to know what are the currently trending popular works.
    • Automatic detection of trending circuits
    • Editor picks
  • Powerpoint Plugin - Teachers who use the platform to explain logic design in class would prefer to not leave their powerpoint presentation. Since CircuitVerse uses JavaScript, a powerpoint plugin can be developed that the teacher can use to embed live circuits right within the presentation.

Further Reading :

Knowledge/Skills Involved: Rails, Javascript

Mentors: Gaurav Koley, Vikas Yadav

Project 5 - Online Interactive Book

Difficulty: Easy

Brief Explanation:

IMPORTANT GSoC- Read Details at https://github.com/CircuitVerse/CircuitVerseDocs/wiki/Interactive-Book

With advances in technology, we no longer need to go to a physical classroom to learn. CircuitVerse aims to provide a virtual classroom environment where one can self learn digital logic design. One of the initiatives that we would like to undertake is to create an online interactive guide for digital logic design. This means that the user can try out the circuits right from within the book to give the user a more interactive experience.

Currently, we have an interactive guide to CircuitVerse. Check out CircuitVerse Docs to know more.

Expected results

  • Create informative material for digital logic design
  • Design interactive circuits
  • DIY digital logic design E-book

Knowledge/Skills Involved: Digital Logic Design, HTML5

Mentor: Satvik Ramaprasad

Your Idea!

Have an innovative feature or improvement in mind and want to implement it? We welcome your ideas for CircuitVerse. Your proposal will need to have the following details

  1. A brief description of the idea.
  2. Wireframes, images, screenshots etc which can illustrate your idea better.
  3. Who will this project primarily benefit?
  4. Implementation details - methodology, algorithm etc

It is recommended that you discuss your idea with one of the mentors before sending in your proposal.

Clone this wiki locally