Welcome to TreeJack, a web-based interactive tool designed for visualizing, simulating, and debugging decision trees. This tool aims to help developers and product owners understand logic flows, identify unreachable paths, and test various input scenarios through a clean, minimalistic interface.
- Interactive Visualization: Easily visualize decision trees with an intuitive interface.
- Simulation: Test various input scenarios to see how your decision tree behaves.
- Debugging: Identify unreachable paths and logic errors quickly.
- Clean UI: A minimalistic design that focuses on usability.
- Fullstack Application: Built with React for the frontend and FastAPI for the backend.
- JSON Editor: Modify your decision tree structures directly in JSON format.
- Flowchart Representation: Visualize complex decision-making processes in a straightforward manner.
TreeJack leverages several powerful technologies to deliver a smooth user experience:
- Frontend: React for building user interfaces.
- Backend: FastAPI for fast and efficient server-side operations.
- Visualization: D3.js for creating dynamic, interactive data visualizations.
- Data Management: JSON for tree structure representation.
- System Design: Structured to handle various user inputs and scenarios.
To get started with TreeJack, follow these steps:
-
Clone the Repository:
git clone https://github.com/eclipsence/TreeJack.git
-
Navigate to the Directory:
cd TreeJack
-
Install Dependencies: For the frontend:
cd frontend npm install
For the backend:
cd backend pip install -r requirements.txt
-
Run the Application: Start the backend server:
uvicorn main:app --reload
Start the frontend application:
npm start
Your application should now be running on http://localhost:3000
.
Once you have the application running, you can access the TreeJack interface through your web browser. Here’s how to make the most of it:
- Load a Decision Tree: Use the JSON editor to load an existing decision tree or create a new one.
- Visualize: The decision tree will be displayed graphically. Click on nodes to explore paths.
- Simulate Inputs: Enter different input scenarios to see how the decision tree responds.
- Debugging: Identify any unreachable paths and correct them as needed.
For the latest releases, visit Releases.
We welcome contributions to TreeJack! If you would like to contribute, please follow these steps:
- Fork the Repository: Click the "Fork" button on the top right corner of the page.
- Create a Branch: Create a new branch for your feature or bug fix.
git checkout -b feature/YourFeature
- Make Changes: Implement your changes and test them thoroughly.
- Commit Your Changes:
git commit -m "Add Your Feature"
- Push to Your Fork:
git push origin feature/YourFeature
- Create a Pull Request: Go to the original repository and click on "New Pull Request".
We appreciate your help in improving TreeJack!
TreeJack is licensed under the MIT License. See the LICENSE file for more information.
For questions or feedback, please reach out to the maintainers:
- Maintainer Name: Your Name
- Email: [email protected]
Thank you for your interest in TreeJack! We hope you find it useful for your decision tree visualization and debugging needs. If you encounter any issues, please check the Releases section for updates and fixes.
Feel free to explore and experiment with TreeJack. Happy coding!