ByteWeave is a web-based application that allows students to simulate digital circuits using a variety of logic gates, including AND, OR, NOT, NAND, NOR, INPUT, OUTPUT, and Seven Segment Displays. Instructors can also create assignments with custom logic circuits that are automatically graded.
- Simulate digital circuits in the browser.
- Use various logic gates to design complex circuits.
- Create custom assignments for students with automatic grading.
To get started with ByteWeave, follow these steps:
-
Clone this repository to your local machine:
git clone https://github.com/dakotacookenmaster/ByteWeave.git
-
Navigate to the project directory:
cd ByteWeave
-
Install the required dependencies using NPM or Yarn:
yarn install OR npm install
-
Start the development server:
yarn dev OR npm run dev
-
Open your web browser and access the application at
http://localhost:3000
.
Instructors can create custom assignments for students by defining the assignment details in the assignment.json
file. You can find all available options in the Assignment.type.ts
file, but here is a simple example:
{
"assignmentName": "CPTR-108 Lab 5: Digital Logic",
"canSkipAnyQuestion": false,
"gatesProvidedInEveryQuestion": [],
"questions": [
{
"instructions": {
"title": "DeMorgan's OR",
"description": "Build a circuit with the same functionality as an OR gate using only AND and NOT gates.",
"resources": []
},
"gatesProvided": [
"AND",
"NOT"
],
"canSkip": true,
"answer": {
// Define circuit details here
}
},
{
// Define more questions here
}
]
}
-
Launch ByteWeave in your browser.
-
Create a circuit.
-
Use the provided logic gates to design your circuit.
-
Simulate the circuit to observe its behavior.
-
Automatically grade the assignment by clicking "Check Answer" to compare it to the provided truth table.
If you'd like to contribute to ByteWeave, please follow these guidelines:
-
Fork the repository on GitHub.
-
Clone your forked repository to your local machine.
-
Create a new branch for your feature or bug fix:
git checkout -b feature/new-feature
-
Make your changes and commit them with clear messages.
-
Push your changes to your forked repository:
git push origin feature/new-feature
-
Create a pull request from your branch to the main repository.
This project is licensed under the MIT License. See the LICENSE file for details.
Enjoy using ByteWeave to explore the fascinating world of digital logic circuits! If you encounter any issues or have suggestions for improvements, please don't hesitate to open an issue. Happy circuit designing!