Yanka Deshkovski

My Projects

SuburbanScope

Yanka Deshkovski, Alicia Ellis, Gabriel Wong Chong

November 2024 - December 2024

A program that sorts and searches through a large amount of data for cities. This program reads in data from a randomly generated dataset with over 100,000 data points (with 8 attributes each), initializes City objects that store information in a vector, sorts data via both Quicksort and Mergesort by a specified attribute (such as population or city name), then uses binary search on the sorted data in order to print cities that the user prompts for. Additionally, the program successfully compares the efficiency of QuickSort and MergeSort by sorting data and displaying the time it takes for both sorting algorithms to execute.

This program carries significant importance as substituting the randomly generated dataset with a real dataset can lead to real life world applications. The use of template typenames for functions and attributes allows for easy abstraction and the project is easily adaptable to take in new data.

MissionComplete (Work in Progress)

Yanka Deshkovski

January 2025 - Present

This web application is a gamified to-do list that allows users to track and manage tasks while earning points and leveling up as they complete them. Built using React.js for the front-end and MySQL for the back-end, the application lets users create, update, and delete tasks, assign deadlines, and categorize them. Each task is associated with a point value, and upon completion, users earn these points. As users accumulate points, they can level up, buy items, and equip them.

The program stores all user and task data in a MySQL database, which allows for secure, persistent storage of user profiles, tasks, and gamification metrics such as points, levels, and items. The React.js front-end dynamically updates the user interface, providing real-time feedback when tasks are added, completed, or deleted. The application also features user authentication, ensuring a personalized experience for each user.

Durak (Work in Progress)

Yanka Deshkovski

December 2024 - Present

Durak is a classic Russian card game played with a standard deck, excluding jokers. The goal is to avoid being the last player with cards. The game uses a trump suit that is designated via whichever card is at the bottom of the draw deck. Players take turns attacking and defending; the attacker places a card, and the defender must either beat it with a higher card or take it if they cannot. Other players can assist the attacker by adding cards of the same rank. Players draw cards after each round to maintain a hand of six cards, except when the deck is depleted. The game continues until one player runs out of cards and wins.

This implementation of Durak is designed to be played against a CPU. The game logic is written in C++, while the graphical user interface (GUI) is developed using Python. The project incorporates a myraid of advanced concepts such as enumerated classes and the creation of a CPU opponent with predefined algorithms and play styles.