← All reportsPublic report

algorithm-visualizer/algorithm-visualizer

:fireworks:Interactive Online Platform that Visualizes Algorithms from Code

49k stars JavaScript View on GitHubprofiled 14d ago
Try GitZoid
0PRs this week
0Contributors
1275Deps scanned
0Issues found
01 · Repo overview

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

JavaScriptSCSSC++Java

Frameworks

ReactReduxreact-routerCreate React App (react-scripts)Ace editor (brace/react-ace)chart.js

Infrastructure

Static SPA build (react-scripts build)Dev proxy to backend at http://localhost:8080Web Worker endpoint /api/tracers/js/workerGitPod config (.gitpod.yml)

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.

02 · Weekly changes

No digest this week

1 weeksWeek of

03 · Security check

Dependencies and code review

1275 dependencies scanned

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