-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Zhaoyi Shi edited this page Jul 27, 2025
·
33 revisions
Welcome to the project wiki! Here you'll find everything you need to set up the codebase, contribute, and troubleshoot issues.
- Getting Started – How to set up the project
-
GitLab Workflow – How to contribute in this specific project
- How do I use Git? - If you are new to git
- Getting Started (Rust) – If you’re working on the backend
- Tech Stack Overview
- Project Structure Overview
- Similar projects
Built with React, TypeScript, and DaisyUI.
- Router – Handles navigation
- Utils – Helper functions
- Components
-
Algorithms – General structures for all algorithms
- Algorithm Interfaces – Algorithm Stores & Visualisation States
- Adapter – Bridges frontend & backend
- Dijkstra – Example implementation
- Hooks
- Training Mode – Interactive learning
- Graph Builder
- Graph Concept Training
- Icons
- Responsive Design – Read this if creating new components to ensure responsiveness.
The actual algorithms and some graph processing are written in Rust.
They are compiled using wasm-pack, which outputs a JavaScript-compatible package that the frontend imports.
-
Graph Crate – Handles graph structures
- Colors & Shapes Enum
- Graph Types
- Methods
- How do I generate a graph?
-
Algorithm Crates
- State Machine
- Main Methods
- Testing
Common Issues – Solutions to frequent problems:
- Why does Prettier fail on Windows?
- Pre-commit hook warns me my commit is empty?
- VS Code reports an error in git commit?
- Why can't I find an imported library after pulling?
- Feedback tool improvment - A guide that explains how to implement an endpoint that turns user feedback into a gitlab issue. (Could be implemented if we someday have an actual backend)
- WebStorm Config – If you prefer WebStorm over VS Code.
- Machine Learning Elements – Currently not under active development.
- How to add a new algorithm