+- pocket-kings ------------------------------------------ 2024 -+ | _ _ _ _ | | | | | | | | (_) | | _ __ ___ ___| | _____| |_| | ___ _ __ __ _ ___ | | | '_ \ / _ \ / __| |/ / _ \ __| |/ / | '_ \ / _` / __| | | | |_) | (_) | (__| < __/ |_| <| | | | | (_| \__ \ | | | .__/ \___/ \___|_|\_\___|\__|_|\_\_|_| |_|\__, |___/ | | | | __/ | | | |_| |___/ | | | | | | Tauri | Rust | C# | Unity | HTML | JavaScript | MySQL | | | | [Repository] | | | +----------------------------------------------------------------+ [001] Introduction __________________________________________________________________ The PocketKings project was developed within the scope of the Professional Aptitude Test, which is the final project of the IT Systems Management and Programming professional course. [002] Overview __________________________________________________________________ PocketKings is a online casino application featuring custom-built games developed using Tauri, Go, and Unity. Initially started in late November 2023, it was conceived as a way to further explore web development and introduce new programming concepts and languages. The focus eventually shifted to developing an online casino application, which would integrate multiple areas of programming, including the app itself, its API, and the games. [003] Architecture __________________________________________________________________ The PocketKings project is divided into three main components: - Application: The front-end interface is built using Tauri and React, and the back-end is developed with Rust. Tauri was chosen over other frameworks due to its superior performance and security features. - API: The API is responsible for managing user authentication, transactions, and betting processes. To boost performance, a Redis server was integrated to store sessions data by caching data in memory. - Games: The games were developed using Unity and compiled to WebGL applications to integrate them into the main application. Initially, external libraries for the casino games were considered, but due to the lack of suitable options, I decided to create the games personally with Unity for better performance and compatibility.