Skip to content

Latest commit

 

History

History
26 lines (19 loc) · 1.32 KB

README.md

File metadata and controls

26 lines (19 loc) · 1.32 KB

What is it

Golden Gates is a web app intended to help computer science students learn the fundamentals of digital design.

Why another digital design tool?

I’ve used some other tools, which worked ok. However, I wanted a tool with a smooth modern UI, adding live collaboration, usable on any computer with a browser, at no cost to students.

How to use it

Basics Golden Gates uses a drag-and-drop UI to place logic gates, wires, and composite components onto a circuit Larger circuits can be composed of smaller circuits Once a circuit is laid out, you can simulate its behavior using input and output components Multiple circuits can be shown at once, both while editing and simulating. Therefore, you can watch how a child circuit runs while also watching its parent Projects A project is composed of multiple circuits. Projects are intended to be gradable assignments in a classroom environment You can share projects, and everyone who has the project open can collaborate on the circuit’s design

How it works

Single Page App written in React and Typescript, rendering circuits in SVG Docker container containing A web server written in Typescript, using the Express.js server framework and nginx proxy/load balancer RethinkDB for document storage and live collaboration Golden Gates is generously hosted by cs.usfca.edu, where I teach