algorithm-visualizer/algorithm-visualizer
:fireworks:Interactive Online Platform that Visualizes Algorithms from Code
How algorithm-visualizer is put together
Algorithm Visualizer is a single-page web application (React 16 + Redux) that visualizes algorithms from code. The frontend is built with Create React App (react-scripts) and communicates with a separate backend (`server` repo) via `/api/*` requests through a dev proxy at http://localhost:8080, plus direct calls to the GitHub REST API for gist-based scratch paper. User-submitted JavaScript is executed in a Web Worker served from `/api/tracers/js/worker`, while C++/Java tracing is delegated to backend POST endpoints. Visualization commands produced by tracer libraries are interpreted client-side by `src/core` tracers/renderers into Array1D/Array2D/Graph/Chart/Log/Markdown/Scatter views.
Languages
Frameworks
Infrastructure
Major components
App shell & routing (src/index.js, src/components/App)
Boots the Redux store and defines client routes: /scratch-paper/:gistId, /:categoryKey/:algorithmKey, and /.
API layer (src/apis)
Factory-built HTTP clients (GET/POST/PUT/PATCH/DELETE) for algorithm metadata, visualizations, GitHub gists/user, and tracer backends, with an interceptor unwrapping response.data.
Tracer core (src/core/tracers)
Client-side tracer classes (Array1D, Array2D, Chart, Graph, Log, Markdown, Scatter) that consume visualization command objects ({key, method, args}).
Renderers (src/core/renderers)
React components that render each tracer's data structure, including layout composition (HorizontalLayout/VerticalLayout).
UI components (src/components)
Reusable UI: Header, Navigator, CodeEditor/FoldableAceEditor, Player, TabContainer, ResizableContainer, ToastContainer, etc.
Redux state (src/reducers)
Ducks-style slices for current visualization, directory tree, env, player, and toasts, combined into a single store with routerReducer.
Embedded files (src/files)
Bundles skeleton code files (code.js/cpp/java) and README markdown into the app via raw-loader.
Language configuration (src/common/config.js)
Declares supported languages (JavaScript, C++, Java) with extensions, Ace modes, and code skeletons.
No digest this week
1 weeksWeek of
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 1275 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required