Interesting Algorithms is a Vue app made in the sixth module of the educational program HITS at Tomsk State University.
The goal of project is to study algorithms and make their visualization in the form of a web application.
Algorithms implemented in the project:
- Labyrinth
- Labyrinth generator
- A Star (Labyrinth path finder)
- Clustering
- K Means
- Hierarchy algorigthm
- Genetic algorithm (made with CPP)
- Ant algorithm
- Field generator
- The most suitable path finder
- Tree
- CSV-To-Tree converter algorithm
- CSV query execution algorithm
- Neural network
- Numbers detector algorithm
This project takes advantage of best practices, many popular libraries and tools in the Web ecosystem.
Tech-stack:
- Code:
- 100% TypeScript + OOP
- Vue 3 + Vue Class component
- JS Coroutines
- RXJS
- Babel
- ESLint
- Raw loader
- Modern architecture:
- Layers architecture
- SPA with Vue Router
- Interface-first business logic design pattern
- CI
- Github Actions
- Automatic code analyzing by 3rd party online tools
- UI
The entire application follows layers architecture
.
It contains components that strictly fulfill their functions, as well as parts that are not part of them.
Algorithm made with CPP, it should be executed as bin file