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.
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!