Skip to content

GSoC'20 Project List

MrBartusek edited this page May 4, 2020 · 23 revisions

GSoC'20 Project List

Welcome to the projects page. We encourage candidates to come up with their own project idea.

Join our Slack Channel and stay tuned for updates.

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

Each project has a task submission, please check the tasks details page.

Project 1 - Testbench + Timing Diagrams

Difficulty: Medium

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 generalizability of circuits. The way we propose to achieve this in CircuitVerse is to develop a tool in which the user can provide the specification of the circuit (by giving test cases) and then have an integration with the simulator to run the test cases and generate a report for the same.

This is an open ended project. Right now the current implementation of testbench and the timing diagrams has only been done as proof of concept and has to be completely revamped. Your proposal needs to have research on what are the different testing methods that we can use, how can that be implemented with our current implementation of the simulator. What other methods can we have to improve circuit debugging? Currently the timing diagrams are measuring time incorrectly and only measuring time at a clock level and not incorporating the circuit delay between gates, this will need to be corrected.

Test Bench Documentation - Note due to some breaking changes, test bench isn't working correctly. Timing Diagrams Documentation

Features to be implemented are:

  • Testbench creator suite
    • Test cases by truth-table
    • Timing specification
    • Other test configurations
  • Timing Digrams
    • Correct time in timing diagram
    • Improve the UI and fix the bugs
    • Save timeline
    • Zoom, Scale and other expected features
  • 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 2 - Refactor simulator code

Difficulty: Medium Priority: High

Brief Explanation:

We currently do not have much standards or guidelines for the simulator code. This project aims to set this right. As part of the project, first you will have to research on good practices and standards which applies to our project. Then you will need to refactor everything to meet the standards. Read #199

An issue which is hindering the development process is that we do not have a way to test our simulator code because of the way it has been designed. Ideas and solutions on this will be extremely helpful.

Currently, CircuitVerse works online and requires an internet connection. An offline desktop application built with electron can help increase accessibility to users. Further, the simulator can be designed to work as a PWA (Progressive Web App).

Expected results

  • Refactoring of code (high priority)
  • Researching and solutions on methods to test the simulator code (high priority)
  • Electron App (low priority) - This is just an add on if there is time.

Knowledge/Skills Involved: Software Design, Javascript

Mentor: Ankit Kataria Satvik Ramaprasad

Project 3 - Mobile App

Difficulty: Medium Priority: Low

Brief Explanation:

There has been a lot of demand for a mobile app. A lot of our users are students and they would like to see the status of their assignments and their projects from their phone. Note that the app will not be used for the simulation of circuits itself.

Some possible results

  • Mobile App for Android and iOS
  • Assignments - Information of Grades, Deadlines, Descriptions etc
  • Featured/Trending projects - Users would like to know what are the currently trending popular works.

Knowledge/Skills Involved: Rails, Javascript, App Development

Mentors: Aboobacker MK

Project 4 - Enhancing Simulator User Interface

Difficulty: Medium Priority: Medium

Brief Explanation:

Currently the simulator interface while functional lacks many common features found in other CAD tools. This project aims to bridge the gap and make the experience more enriching for the user

Some possible results

  • Color Themes
  • Bug fixes in the current user interface
  • Custom Keyboard Shortcuts to common features
  • Built in tutorial for getting started
  • Enabling support for touch screen enabled devices

Knowledge/Skills Involved: UX Design, HTML5, CSS, JQuery, Javascript

Mentors: Satvik Ramaprasad Nitin Singhal

Project 5 - Platform Improvement Project

Difficulty: Medium

As our platform grows, so does our requirements.

  1. Having User Preferences/Settings for things like notifications (#849)
  2. Support Internationalization (i18n) - This is a high priority for us, as 90% of our traffic comes from English speaking countries. (#963)
  3. Introduction of a Moderator Role - identify good work for featuring, filter our obscene data etc
  4. Notification Mechanism - The notification feature is implemented but not used yet.

Knowledge/Skills Involved: Rails, HTML, CSS

Priority: Medium Difficulty: Medium

Mentors: Aboobacker MK

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