Bartłomiej Kozak & Bartosz Buczek
./gradlew run
Core module, contains all the logic of the application. Coroutines are used for multithreading.
Contains all the code related to the GUI, separated into Views and ViewModels. We use TornadoFX as the proxy between required JavaFX library and Kotlin.
Custom metrics used for monitoring the application - gathering data about the number of animals, plants, average energy, etc.
Common utils which extend the functionality of Kotlin's standard library and Flow.
![image](https://private-user-images.githubusercontent.com/64359735/322594205-da71f678-9030-45ce-86e8-7cb39d77bc71.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMzUxMzksIm5iZiI6MTczOTAzNDgzOSwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQyMDUtZGE3MWY2NzgtOTAzMC00NWNlLTg2ZTgtN2NiMzlkNzdiYzcxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE3MTM1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFhMzFmOWFjZDM4MDcyZTE5YmE4NjM5Yzc2MTNjN2ExZTNiMTMyNmIwZGQwMWExZWFjNzgwZTUyZTUwYTgxMjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.vYlAc4EbD9hvoGHj4yxgP-Go8jY6X-iehZh1HFkx97o)
![image](https://private-user-images.githubusercontent.com/64359735/322594280-83e629be-b116-4692-bbb2-9b8e4d4f81fb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMzUxMzksIm5iZiI6MTczOTAzNDgzOSwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQyODAtODNlNjI5YmUtYjExNi00NjkyLWJiYjItOWI4ZTRkNGY4MWZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE3MTM1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUyYTg4YmZiZWM1Yzc1MzM1NWI4NjRkY2VmYjFhMzMyZjg2ZjQwYTYzZTAwZGQ0MTk1YTQ0MzQyNjAwYTY2N2MmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.2jYO-kexjcyFZV9tMUNYd0f5jKihs-oqbYMNWyrmO-s)
![image](https://private-user-images.githubusercontent.com/64359735/322594324-2a261472-fbbe-4262-857d-abff9e5b19a2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMzUxMzksIm5iZiI6MTczOTAzNDgzOSwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQzMjQtMmEyNjE0NzItZmJiZS00MjYyLTg1N2QtYWJmZjllNWIxOWEyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE3MTM1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI0NTNlM2E5MzFlNjUwYTg3ZjY2NzI4MjJhMjg3ZWI5ZWU1Y2EwM2U3MTFhMDY5NzIzNDA2MTY1Mzk5YjI5NjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.LI2iu7N5KSxiB0BRVMoRrM1xc9z0dwY6TLuHHMmsrwA)
![image](https://private-user-images.githubusercontent.com/64359735/322594393-1afd79aa-63c1-4b55-a435-772faaa53edc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMzUxMzksIm5iZiI6MTczOTAzNDgzOSwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQzOTMtMWFmZDc5YWEtNjNjMS00YjU1LWE0MzUtNzcyZmFhYTUzZWRjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE3MTM1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNhODdhNDc1NzMyNTBmOTQ5YWNlZDE4OTBjZGUyNDk4ZTE0MWFiZTE2YjlmNmRkYTczZTE2ZjdmOTUzZjhlNzQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.5ZL4wh1c1kEJDYX3NKnDne1CkCvLWgZxB4MEPvdTKRo)
![image](https://private-user-images.githubusercontent.com/64359735/322594488-d5af1888-979c-4269-9500-300fb54287df.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMzUxMzksIm5iZiI6MTczOTAzNDgzOSwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQ0ODgtZDVhZjE4ODgtOTc5Yy00MjY5LTk1MDAtMzAwZmI1NDI4N2RmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE3MTM1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU4YmMxYjA5NDI1ZDNiMTJhZmE2ZDQ5Y2Y1ZjAyMzY4N2JhMzhmODAxZTcyMDQwNGY0M2UzMDg3ODZlNDBlYjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.7DHAEeM-_LhMHPbErqZIKXztmXqCtZsyvXOrF8A6z5o)
![image](https://private-user-images.githubusercontent.com/64359735/322594604-4b5d86b5-070a-408e-932a-17f3bcff3290.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMzUxMzksIm5iZiI6MTczOTAzNDgzOSwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQ2MDQtNGI1ZDg2YjUtMDcwYS00MDhlLTkzMmEtMTdmM2JjZmYzMjkwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE3MTM1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEzYmM5Y2ZmZjZlZjNiM2M5NGIyMWY5ODgzZmQxZWYyOWM4ZTk2NWVmYTQ3NWNiNDQ1NGNjNWU5ODUyNDFjNTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.NQGkZOI74hxJY88Cbam9HfVpbOzarmu0hDGTgLJ6Q38)
![image](https://private-user-images.githubusercontent.com/64359735/322594693-afe07228-26b0-49ef-bdee-5f205c951692.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMzUxMzksIm5iZiI6MTczOTAzNDgzOSwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQ2OTMtYWZlMDcyMjgtMjZiMC00OWVmLWJkZWUtNWYyMDVjOTUxNjkyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE3MTM1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZlZTIxODVhYmUwYzI1MjY0MGMyMTU5ODliNzU3N2JlNDJiOGMwZDgxYjBmNDM2NGY3NTI5ZjRmZmI0ZTJmMTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.P50XVDppMgcgVDOG2Tw1y_SJ_pHxFIbL3B5Y0kXAh0A)
![image](https://private-user-images.githubusercontent.com/64359735/322594881-8d60f7e7-cfb0-4052-91f7-0e876e9a1dfe.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMzUxMzksIm5iZiI6MTczOTAzNDgzOSwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQ4ODEtOGQ2MGY3ZTctY2ZiMC00MDUyLTkxZjctMGU4NzZlOWExZGZlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE3MTM1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAzNGM3MGI2ZGM4MDAwNWM3NmViMWQxZDQ3NzIwYjIzZDI3NDRiZGZmY2VhMzdiYzY4NTdkYjNmNzYyMjAyMjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.XXaiJ6CAL1S9WENq6Ioc_p_dGQaD_DlI_dVmtYyjCZM)