Decision Making Tool is a single-page application (SPA) for making random decisions based on the weight (priority) of each option. The application is perfect for anyone who needs to make a weighted random choice.
The application allows you to create a list of options, each of which can be assigned a weight — the greater the weight, the higher the probability that this option will be selected. After creating the list, the user can proceed to the decision visualization: a wheel of fortune appears on the screen, where each sector corresponds to an option from the list, and its width corresponds to the option's weight. The wheel spins with animation and sound effects, and the selected option is displayed on the screen.
- Edit option list: add, delete, clear, edit titles and weights.
- Save and load lists: export/import lists in JSON format.
- Decision visualization: wheel of fortune with animation and sound.
- Adjustable wheel spin duration.
- Sound control: ability to enable/disable sound.
- TypeScript
- Canvas API
- Web Storage API
- File API
- Web Animations API
- Web Audio API
- CSS Modules (SCSS)
- Webpack
- ESLint
- Prettier
- StyleLint
- Husky
- lint-staged
- commitlint
git clone https://github.com/cherkasovaa/decision-making-tool.git
cd decision-making-toolnpm installnpm run devnpm run buildThis project was created for educational purposes as part of RSSchool in March 2025. Use of the code is subject to agreement with the author.

