App for real-time performance testing of different sorting algorithms. Live version - https://pamsi-sort-test.herokuapp.com/
App lets you learn about most important types of sorting and test their big O time complexity in real-time. It fetches short description and parses big O notation from Wikipedia as well as calling it's own REST API endpoints, which initializes arrays of different sizes (10k to 1M elements) and various stages of being sorted (random, 25%, 99,7%, reverse order etc.). It also lets you display the result of sorting on charts.
- Node.js Clusters doesn't seem to work in parallel on Heroku - need to fix that.
- Web Workers was intended to work with local storage, but size of arrays far exceeded it's size, so they ended up as a mock. Should be actually removed now.
- Further development should consist of different sorting algorithms comparison mechanism.
If you want to make some changes, first you have to have Node with npm installed.
After cloning this repository, in the project directory, you have to install dependencies:
npm i
Then you should run:
npm start
Then go to your browser of choice and go to the URL below:
localhost:3000
App should be running in your browser. Give it a try!
- React - king of all JS frameworks with React Router for routing
- Chart.js - Most popular canvas-based charting library for JS
- Postman - API endpoints testing tool
- Sass - most popular CSS preprocessor
- Webpack with Babel - bundler and compiler for newest ECMAScript standard
- Express - Web framework for Node.js
- Heroku - Cloud platform which can run Node.js
- Web Workers and Node.js Clusters - JavaScript multi-threading
- Particles.js - Fancy looking, canvas-based background
- Toptal for their outstanding gifs with major sorting algorithms
- Danilo Woznica for those Facebook-like SVG placeholders