Since the documentation was getting too long, here's a PDF version explaining everything in this project. Link: https://drive.google.com/file/d/1mHKXf4s8FQZzImqWDSchRTHfMgnbOJdX/view