Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
876b224
Fix zoom issues as Chrome updates
64json May 25, 2019
4391b98
Bump lodash from 4.17.10 to 4.17.11 (#240)
dependabot[bot] May 25, 2019
0fcb423
Bump webpack-bundle-analyzer from 2.13.1 to 3.3.2 (#241)
dependabot[bot] May 25, 2019
f3f4b5a
Bump tar from 2.2.1 to 2.2.2 (#242)
dependabot[bot] May 25, 2019
05a46da
Bump fstream from 1.0.11 to 1.0.12 (#243)
dependabot[bot] May 31, 2019
0773f1a
Fix vscode error message: "Experimental support for decorators" (#247)
Aminadav Jun 3, 2019
e47d303
Bump js-yaml from 3.12.0 to 3.13.1 (#249)
dependabot[bot] Jun 6, 2019
83e4c19
Fix scrolling issue in firefox (Close #248) (#251)
64json Jun 7, 2019
faae63b
Separate backend from algorithm-visualizer repo
64json Jun 7, 2019
44384cf
Remove webpack and use create-react-app
64json Jun 8, 2019
60fcab5
Rename jsx and scss files
64json Jun 9, 2019
97e355d
Remove a temporary file used to mass rename
64json Jun 9, 2019
3039416
Fix warnings regarding manifest.json
64json Jun 9, 2019
eb1d19e
Update README.md
64json Jun 9, 2019
f43df56
Update documentation
64json Jun 9, 2019
3cfb75d
Update README.md
64json Jun 9, 2019
03c9cde
Update CONTRIBUTING.md
64json Jun 9, 2019
419a1a8
Update README.md
64json Jun 9, 2019
ed4daf2
Update .gitpod.yml
anudeepreddy Jun 19, 2019
e13f28b
Create FUNDING.yml
64json Jul 4, 2019
aca5633
Update FUNDING.yml
64json Jul 4, 2019
633e5dd
Fix errors when resizing panels horizontally. (#265)
jeffslofish Jul 6, 2019
cf44c90
Add missing favicon (close #263)
64json Jul 6, 2019
54e204d
Merge branch 'master' of github.com:algorithm-visualizer/algorithm-vi…
64json Jul 6, 2019
c0c632e
Merge branch 'master' of https://github.com/anudeepreddy/algorithm-vi…
64json Jul 6, 2019
d174ba0
Fix .gitpot.yml
64json Jul 6, 2019
dc21d27
Merge branch 'anudeepreddy-master'
64json Jul 6, 2019
dbec6f4
Bump lodash.template from 4.4.0 to 4.5.0 (#266)
dependabot[bot] Jul 11, 2019
8d13b7b
Bump eslint-utils from 1.3.1 to 1.4.2 (#269)
dependabot[bot] Aug 27, 2019
7845b9e
Bump mixin-deep from 1.3.1 to 1.3.2 (#270)
dependabot[bot] Aug 28, 2019
f84321c
Update README.md (#274)
BryanChan777 Nov 24, 2019
59ea934
feat: add ScatterTracer and ScatterRenderer (#298)
Jeff-Tian Jan 28, 2021
8e72d5e
Bump y18n from 3.2.1 to 3.2.2 (#302)
dependabot[bot] May 1, 2021
616b3d4
Bump postcss from 7.0.17 to 7.0.36 (#309)
dependabot[bot] Nov 30, 2021
9ba0abc
Fix sign in/out
64json Apr 2, 2022
1ba4644
Add README.md to scratch paper
64json Apr 2, 2022
bf676c9
Add Node version to package.json (#327) (#330)
unfode Apr 13, 2022
18de2ed
Update README.md (#367)
thomasthomas882 Nov 18, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions .babelrc

This file was deleted.

10 changes: 0 additions & 10 deletions .eslintrc.js

This file was deleted.

12 changes: 12 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=CFS8Y6G3E29UA
23 changes: 20 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,24 @@
# WebStorm settings
/.idea

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build
/npm-debug.log
/src/backend/public

# misc
.DS_Store
/pm2.config.js
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
17 changes: 17 additions & 0 deletions .gitpod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
tasks:
- init: >
git clone https://github.com/algorithm-visualizer/server.git &&
cd server &&
npm install &&
echo -e "GITHUB_CLIENT_ID=dummy\nGITHUB_CLIENT_SECRET=dummy\nAWS_ACCESS_KEY_ID=dummy\nAWS_SECRET_ACCESS_KEY=dummy" > .env.local &&
cd ..
command: cd server && npm run watch
- init: >
npm install &&
echo 'DANGEROUSLY_DISABLE_HOST_CHECK=true' > .env.local
command: npm start
ports:
- port: 3000
onOpen: notify
- port: 8080
onOpen: ignore
53 changes: 31 additions & 22 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

> #### Table of Contents
> - [Running Locally](#running-locally)
> - [Creating a Pull Request](#creating-a-pull-request)
> - [Running in Gitpod](#running-in-gitpod)
> - [Directory Structure](#directory-structure)

Are you a first-timer in contributing to open source? [These guidelines](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) from GitHub might help!

## Running Locally

Expand All @@ -13,39 +16,45 @@
```bash
git clone https://github.com/<your-username>/algorithm-visualizer.git
```

3. Choose whether to run [`server`](https://github.com/algorithm-visualizer/server) on your machine or to use the remote server.
- If you choose to run the server locally as well, follow the instructions [here](https://github.com/algorithm-visualizer/server/blob/master/CONTRIBUTING.md#running-locally).

3. Install [Docker](https://docs.docker.com/install/), if not already installed.
- If you choose to use the remote server, **temporarily** (i.e., don't commit this change) modify `package.json` as follows:
```diff
- "proxy": "http://localhost:8080",
+ "proxy": "https://algorithm-visualizer.org",
```

4. Install dependencies, and run the server.
4. Install dependencies, and run the web app.

```bash
cd algorithm-visualizer

npm install

npm run dev
npm start
```

5. Open [`http://localhost:8080/`](http://localhost:8080/) in a web browser.

## Creating a Pull Request

6. Create a branch addressing the issue/improvement you'd like to tackle.
5. Open [`http://localhost:3000/`](http://localhost:3000/) in a web browser.

```bash
git checkout -b my-problem-fixer-branch
```
## Running in Gitpod

7. Write some awesome code.
You can also run `algorithm-visualizer` in Gitpod, a free online dev environment for GitHub.

8. Commit the changes, and push them to `my-problem-fixer-branch` branch on your forked repo.
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/algorithm-visualizer/algorithm-visualizer)

```bash
git add .

git commit -m "Explain my awesome changes"

git push origin my-problem-fixer-branch
```
## Directory Structure

9. Create a pull request from `my-problem-fixer-branch` branch on your forked repo to `master` branch on the main repo.
- [**branding/**](branding) contains representative image files.
- [**public/**](public) contains static files to be served.
- [**src/**](src) contains source code.
- [**apis/**](src/apis) defines outgoing API requests.
- [**common/**](src/common) contains commonly used files.
- [**components/**](src/components) contains UI components.
- [**core/**](src/core) processes visualization.
- [**layouts/**](src/core/layouts) layout tracers.
- [**renderers/**](src/core/renderers) renders visualization data.
- [**tracers/**](src/core/tracers) interprets visualizing commands into visualization data.
- [**files/**](src/files) contains markdown or skeleton files to be shown in the code editor.
- [**reducers/**](src/reducers) contains Redux reducers.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2018 Jinseo Jason Park
Copyright (c) 2019 Jinseo Jason Park

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
69 changes: 0 additions & 69 deletions PROJECT_DETAILS.md

This file was deleted.

53 changes: 38 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,54 @@
# Algorithm Visualizer

> Algorithm Visualizer is an interactive online platform that visualizes algorithms from code.
## Introduction
Welcome to Algorithm Visualizer, an interactive online platform designed to bring algorithms to life through visualization. Whether you're a student, teacher, or professional, our platform provides an engaging way to explore and understand various algorithms.

[![Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg?style=flat-square)](https://gitter.im/algorithm-visualizer)
[![GitHub contributors](https://img.shields.io/github/contributors/algorithm-visualizer/algorithm-visualizer.svg?style=flat-square)](https://github.com/algorithm-visualizer/algorithm-visualizer/graphs/contributors)
[![GitHub license](https://img.shields.io/github/license/algorithm-visualizer/algorithm-visualizer.svg?style=flat-square)](https://github.com/algorithm-visualizer/algorithm-visualizer/blob/master/LICENSE)

Learning algorithms from text and static images is quite boring. There have been many great websites that view animations of various algorithms though, for us being coders, nothing can be more comprehensible than visualizing the actual working code.
## Languages and Frameworks Used
[![Languages](https://skillicons.dev/icons?i=html,css,js,react,nodejs,redux)](https://skillicons.dev)

[![Screenshot](https://raw.githubusercontent.com/algorithm-visualizer/algorithm-visualizer/master/branding/screenshot.png)](https://algorithm-visualizer.org/)

## Contributing
## Key Features
<ul>
<li>

### Visualize algorithms from code:
Algorithm Visualizer allows you to witness algorithms in action by visualizing code written in various programming languages. This visual approach facilitates a better understanding of algorithmic behavior..</li>
<li>

### Learn about Algorithms:
Explore our collection of tutorials, articles, and videos that serve as valuable resources for learning about algorithms.
</li>
</ul>

## algorithms
In this repository, you'll find visualizations of algorithms showcased in the website's side menu. Contributions here directly impact the educational content available on the platform. https://github.com/algorithm-visualizer/algorithms</li>
</ul>


If you want to ...
## tracers
Explore the various visualization libraries in different programming languages. These libraries extract visualization commands from code.
https://github.com/search?q=topic%3Avisualization-library+org%3Aalgorithm-visualizer&type=Repositories</li>
</ul>

## Live Demo
Learning an algorithm gets much easier with visualizing it. Don't get what we mean? Check it out:

[**algorithm-visualizer.org**![Screenshot](https://raw.githubusercontent.com/algorithm-visualizer/algorithm-visualizer/master/branding/screenshot.png)](https://algorithm-visualizer.org/)

## Contributing

- **Add or improve an algorithm.**
Our project consists of multiple repositories, each playing a crucial role in the Algorithm Visualizer ecosystem. If you're interested in contributing, check out the guidelines for the specific repository:

We have a separate repository for public algorithms. Check out the [contributing guidelines](https://github.com/algorithm-visualizer/algorithms/blob/master/CONTRIBUTING.md) in [`algorithms`](https://github.com/algorithm-visualizer/algorithms) repo.

- **Improve the UI.**
- [**`algorithm-visualizer`**](https://github.com/algorithm-visualizer/algorithm-visualizer) is a web app written in React. It contains UI components and interprets commands into visualizations. Check out [the contributing guidelines](CONTRIBUTING.md).

Check out the [contributing guidelines](https://github.com/algorithm-visualizer/algorithm-visualizer/blob/master/CONTRIBUTING.md) in this repo. The [directory structure](https://github.com/algorithm-visualizer/algorithm-visualizer/blob/master/PROJECT_DETAILS.md#algorithm-visualizer) might be helpful as well.
- [**`server`**](https://github.com/algorithm-visualizer/server) serves the web app and provides APIs that it needs on the fly. (e.g., GitHub sign in, compiling/running code, etc.)

- **Revise the specifications of visualization libraries.**

Making changes to the specifications is often followed by updating visualization libraries for every supported language and the affected public algorithms accordingly. It is highly recommended to read the entire [project details](https://github.com/algorithm-visualizer/algorithm-visualizer/blob/master/PROJECT_DETAILS.md) and to raise an issue about your proposal before working on it.
- [**`algorithms`**](https://github.com/algorithm-visualizer/algorithms) contains visualizations of algorithms shown on the side menu of the website.

- **Fix issues in a visualization library for a specific langauge.**
- [**`tracers.*`**](https://github.com/search?q=topic%3Avisualization-library+org%3Aalgorithm-visualizer&type=Repositories) are visualization libraries written in each supported language. They extract visualizing commands from code.

Check out the contributing guidelines ([JavaScript](https://github.com/algorithm-visualizer/tracers.js/blob/master/CONTRIBUTING.md), [C++](https://github.com/algorithm-visualizer/tracers.cpp/blob/master/CONTRIBUTING.md), and [Java](https://github.com/algorithm-visualizer/tracers.java/blob/master/CONTRIBUTING.md)) in the repo of the visualization library.
Ready to contribute? Explore the repositories and become part of the Algorithm Visualizer community!
42 changes: 0 additions & 42 deletions app/backend.js

This file was deleted.

Loading