DecViz is a free, open-source web application that transforms domain knowledge into interactive graph visualizations through declarative programming.
- Node.js (v16+)
- Python 3.11+
- Logica
- Clone and setup:
git clone https://github.com/yilinxia/DecViz.git
cd DecViz
conda env create -f environment.yml
conda activate decviz
npm install- Start backend server (Python FastAPI):
pip install -r requirements.txt
uvicorn api.logica_backend:app --reload --port 8000- Start frontend development server:
NEXT_PUBLIC_LOGICA_BACKEND_URL=http://localhost:8000 npm run devNote
For future use, you can use ./start.sh to start both backend and frontend in development mode.
For easier development with Docker:
# Start both frontend and backend in development mode
docker build -t decviz .
docker run -p 8000:8000 -p 3000:3000 decvizDecViz uses a two-language approach:
- Domain Language: Define facts and relationships using Logica
- Visual Language: Configure visualization using Logica predicates
Example:
# Domain Language
Argument("a"); Argument("b");
Attacks("a", "b");
# Visual Language
Node(node_id: x, label: x, shape: "circle") :- Argument(x);
Edge(source_id: source, target_id: target) :- Attacks(source, target);
The software is available under Apache 2.0 License.
For any queries, please open an issue on GitHub or contact Yilin Xia.
