NAND-UI is a web-based application that empowers users to design complex computer circuits using fundamental logic gates: AND, OR, and NOT. This project is a tribute to the fascinating world of digital logic design and is inspired by the DIY 8-bit computer movement.
Follow these steps to set up and run NAND-UI on your local machine.
- Install Dependencies: Start by installing project dependencies using the following command:
yarn
- Run Development Server: Launch the development server with:
yarn dev
To create a production-ready build of the application, follow these steps:
- Build the App: Generate the optimized build with the following command:
yarn build
- Serve the Application: Serve the contents of the
/dist
folder. Locally, you can do this with:
yarn preview
NAND-UI is primarily a React-based application with additional functionality provided by json-server for simple data persistence. Here's how it works:
Upon loading in the browser, the application fetches the current circuit state from the data.json file. This state includes information about nodes, edges, and custom node types.
Any modifications made to the circuit design in the web editor are automatically saved back to the data.json file via the json-server instance.
NAND-UI draws inspiration from various sources, including:
Special thanks to Sebastian Lague for his project Digital-Logic-Sim and the incredible React package reactflow, which inspired this endeavor.
Please note that NAND-UI is a personal pet project. While it offers a unique experience in digital logic design, it may have limitations, bugs, or areas for improvement. This project does not necessarily reflect the author's professional style or work ethic. Use it for learning and exploration, and feel free to contribute to its enhancement.