Digital-Verse is an interactive and feature-rich digital circuit simulator designed to make learning and experimenting with digital circuits simple and intuitive.
- Frontend: React Flow, React, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: bcrypt, JWT
Digital-Verse offers a wide range of components to design combinational circuits:
- Basic Components: Input/Output nodes, AND, OR, NOT, XOR, NAND, NOR, XNOR gates.
- Advanced Components:
- 7-Segment Display
- Combinational Logic: Adders, Multiplexers, Decoders.
- Sequential Logic: Clock, Flip-Flops (Coming soon...)
- Drag and Drop Nodes:
Simply drag components from the palette and drop them onto the canvas to add them to your circuit. You can easily position and organize them as needed. - Making Connections:
To connect components, click and drag from the node handles (small circles on the sides of nodes) to another node handle. This creates an edge connecting the two nodes, allowing signals to flow between them. - Input Node Value and Name:
Click on an Input node to change its value. You can toggle between0and1. - Clock Node Frequency:
Double-click on a Clock node to change its frequency. This allows you to control the timing of sequential circuits, such as flip-flops and other clock-driven components. - Adding Node Names: Double-click on Input, Output, LED, or Clock nodes to assign or edit their names. This feature helps identify these specific components in complex circuits and improves readability.
- Truth Table Generator: Enter a Boolean expression and get the corresponding truth table, showcasing all possible input combinations and their resulting outputs.
- Expression Generator: Provide a truth table and get the simplified Boolean expression. Used the Quine-McCluskey algorithm for minimization.
- Register, login, and manage your circuits online.
- Save circuits to your personal account.
- Update passwords or delete accounts securely.
- Real-time updates to circuit simulation as you make changes.
- Dynamic component interaction.
- Export circuit in PNG format.
Shift + Drag: Select multiple nodes and edges.R: Rotate selected nodes.Delete: Delete selected nodes and edges.Ctrl + C: Copy selected nodes and edges.Ctrl + V: Paste copied nodes and edges.Ctrl + Alt + R: Clear the circuit.Ctrl + Alt + K: Enable/Disable background grid.Ctrl + Alt + J: Enable/Disable snapping to grid.Ctrl + Alt + L: Mode selection (light/dark).Ctrl + Shift + E: Export circuit.Ctrl + Shift + S: Save circuit.
- Node.js installed on your machine.
- A MongoDB database setup (cloud or local).
-
Clone the repository:
git clone https://github.com/ramdhankumar1425/Digital-Verse.git
-
Navigate to the project directory:
cd Digital-Verse -
Install dependencies:
cd Frontend npm install cd .. cd Backend npm install
-
Set up environment variables (
.envfile):// Frontend VITE_BACKEND_URL = http://localhost:8000 // Backend SERVER_PORT = 8000 CLIENT_URI = http://localhost:5173 DB_URI = your-database-url JWT_SECRET = something-secret
-
Run the app
// Frontend npm run dev // Backend npm run dev
A huge thank you to:
- Circuit Verse for inspiring this project and setting a foundation for digital circuit simulations.
- The React Flow team for their outstanding library, enabling the seamless and intuitive interface of Digital-Verse.
We value your feedback! If you encounter any issues or have suggestions for improvements, please contact us using the Contact Us page.
We welcome contributions!
Feel free to submit issues, suggest features, or create pull requests to help improve Digital-Verse.