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.
Difficulty: Hard
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 :
- Simulator Overview
- Layout.js - LayoutMode user interface and datastructure code
- Subcircuit.js - Subcircuit rendering code
- 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
Difficulty: Hard
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
- TestBench Suite
- Testbench - simulator integration
- Test report generator
Knowledge/Skills Involved: JavaScript, Rails, Digital Logic Design, Testing
Mentor: Satvik Ramaprasad
Difficulty: Medium
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.
- 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
Difficulty: Medium
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.
- 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
Difficulty: Easy
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.
- 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
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
- A brief description of the idea.
- Wireframes, images, screenshots etc which can illustrate your idea better.
- Who will this project primarily benefit?
- Implementation details - methodology, algorithm etc
It is recommended that you discuss your idea with one of the mentors before sending in your proposal.
CircuitVerse is a web-based simulation software for creating and testing digital circuits. The easy drag and drop feature makes it easier and a fun way to learn about logic circuits and also compatible to be used by teachers as well as students. From simple gates to complex sequential circuits, plot timing diagrams, automatic circuit generation, explore standard ICs, and much more, CircuitVerse has got you covered. It also lets the user store and access the previously built circuits to build yet more complex circuits and generate truth tables for the constructed circuits.
- Home
- Running the server
- Simulator
- Development
- Internationalization (I18n)
- GSoC '19
- GSoC '20
- GSoC '21
- GSoC '22
- GSoC '23
- GSoC '24
- GCI 2019
- Google Season of Docs 2020