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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MjAwNzIsIm5iZiI6MTczOTQxOTc3MiwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQyMDUtZGE3MWY2NzgtOTAzMC00NWNlLTg2ZTgtN2NiMzlkNzdiYzcxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA0MDkzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ5YTNjYjlkMmJiZGIyMzQzYWU0OTI3MjQyZjI3NTk5MGQ2OTUyNThjYjUyOTc4MmVkMjgwNWU1OTc5OWY0NjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.rXqNlMXCrUkdomi_QSJ2iil8_XAF_MyOsMGWBtJlWjc)
![image](https://private-user-images.githubusercontent.com/64359735/322594280-83e629be-b116-4692-bbb2-9b8e4d4f81fb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MjAwNzIsIm5iZiI6MTczOTQxOTc3MiwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQyODAtODNlNjI5YmUtYjExNi00NjkyLWJiYjItOWI4ZTRkNGY4MWZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA0MDkzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFhMjdjYzEyZGQ1NDgzODkwODQ4MTdiYjViNTZmYzg4ZTNjZmE1NzJmY2E5YzI3Y2YzYmQ2ZmViZGQ5MzEwZWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.0dn0NWFMNipLRSO2JUNvNojjuSHRwIXRKGjQLOcnMfc)
![image](https://private-user-images.githubusercontent.com/64359735/322594324-2a261472-fbbe-4262-857d-abff9e5b19a2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MjAwNzIsIm5iZiI6MTczOTQxOTc3MiwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQzMjQtMmEyNjE0NzItZmJiZS00MjYyLTg1N2QtYWJmZjllNWIxOWEyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA0MDkzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJjZjMxYTEzZjJhODg1OGZiN2U3ZWQwZjJkZWIyYTI1YTExNGVhYjU3NjFlNGFmYjExZTVmOWY1NGI5MDdkMzEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.-tSNaKuprpVhBfyiWCmcjUYlboyEDJBJPvD_CIfYuxo)
![image](https://private-user-images.githubusercontent.com/64359735/322594393-1afd79aa-63c1-4b55-a435-772faaa53edc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MjAwNzIsIm5iZiI6MTczOTQxOTc3MiwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQzOTMtMWFmZDc5YWEtNjNjMS00YjU1LWE0MzUtNzcyZmFhYTUzZWRjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA0MDkzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJkNTQxNDcyNWUzZTU3NTEzOGYzODk3OTc1YTNkMzMxMjQ4ZGNmNDUxYTg1NzZiYjlmNTdiYjg0MDNhY2QxY2UmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.d0WB2Dt8vcJk5Ihj7oqVREghy5SaNbw1hp1I5ppg1t8)
![image](https://private-user-images.githubusercontent.com/64359735/322594488-d5af1888-979c-4269-9500-300fb54287df.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MjAwNzIsIm5iZiI6MTczOTQxOTc3MiwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQ0ODgtZDVhZjE4ODgtOTc5Yy00MjY5LTk1MDAtMzAwZmI1NDI4N2RmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA0MDkzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA5NTJjYWY4NDY0Y2M4NmNmMGViOTUyOGU3ZDI4ZTI4NTgzOWRhNjVkZjZiYTllYjBiMjBjNGQ0YjkyMzFjMzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.6FRhB25Kj5zQMyzz2Jb2F_PnxyhrUAhCQEOHSLWyv4w)
![image](https://private-user-images.githubusercontent.com/64359735/322594604-4b5d86b5-070a-408e-932a-17f3bcff3290.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MjAwNzIsIm5iZiI6MTczOTQxOTc3MiwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQ2MDQtNGI1ZDg2YjUtMDcwYS00MDhlLTkzMmEtMTdmM2JjZmYzMjkwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA0MDkzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA4ODZmZGVkNTU5NmI2ZWRiZjRkZmFjNTdjNWIxODEwMTUwYTA4MmRiMjlmMTJiYTNkMWY2NTVmNzdkZWI5ZDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.DhxaRjFkDA23vX4dQWkLRMQEynpAMpeMFiFr1iATjxE)
![image](https://private-user-images.githubusercontent.com/64359735/322594693-afe07228-26b0-49ef-bdee-5f205c951692.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MjAwNzIsIm5iZiI6MTczOTQxOTc3MiwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQ2OTMtYWZlMDcyMjgtMjZiMC00OWVmLWJkZWUtNWYyMDVjOTUxNjkyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA0MDkzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTlhMjdmN2I1ZDk0NDYyMDBiY2RkNDlkNzg3MzVhZDBmNTAyOTczMzEzM2RmZTkzNmFhNWExMjY2ZjY1YjU5MTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.2biHAIZqyWhg_bgUARVTj9f4dDCertqlGuFVhHQtseM)
![image](https://private-user-images.githubusercontent.com/64359735/322594881-8d60f7e7-cfb0-4052-91f7-0e876e9a1dfe.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MjAwNzIsIm5iZiI6MTczOTQxOTc3MiwicGF0aCI6Ii82NDM1OTczNS8zMjI1OTQ4ODEtOGQ2MGY3ZTctY2ZiMC00MDUyLTkxZjctMGU4NzZlOWExZGZlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA0MDkzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThiZGM2MjEwZGM5ZWJjZjk3ZTdiZWE0YmNjNWZiOGQ1MGJjNWUwMzQ3YTAyNzk0MzNjOTljYjJkMWNlYzlhY2QmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.atEUI34DQ5vv_Y1U-VM0OeCF4ywbyIgGoFFwFRIwEbY)