![s1](https://private-user-images.githubusercontent.com/32542424/340146662-f4906a9b-678d-4fa5-a51c-ee94c9ef0147.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2NTMwMDIsIm5iZiI6MTcxOTY1MjcwMiwicGF0aCI6Ii8zMjU0MjQyNC8zNDAxNDY2NjItZjQ5MDZhOWItNjc4ZC00ZmE1LWE1MWMtZWU5NGM5ZWYwMTQ3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI5VDA5MTgyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgxMDY4NzFmODllM2IzYzU2NTc3ODg4YjhhZjZmNjgxOGZlMWIzNmZhMTVlN2QyNjgyZjRhOTFkMjUyZGE3MGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.FX9LK_lchMHW2XdKvttDfBan0BqizeeyiICjBklUZyQ)
Design is inspired by Mari Andrianova.
![s2](https://private-user-images.githubusercontent.com/32542424/327252325-a46b7b5b-d2d3-4d27-a897-5c81ae6439c7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2NTMwMDIsIm5iZiI6MTcxOTY1MjcwMiwicGF0aCI6Ii8zMjU0MjQyNC8zMjcyNTIzMjUtYTQ2YjdiNWItZDJkMy00ZDI3LWE4OTctNWM4MWFlNjQzOWM3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI5VDA5MTgyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYyYjQ4ODYwODUxYjI4ZDMyYzdiMjU5NTcwNTM2ZTEwMmQyNWI4ZDQ1YTUxZTNhZjMxYTU1NmUxNGFiMmY1ZjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.mTxJZcfvOpYZixA9d1g1IVQsVBQ5MGm7Zp9UAl2BHp0)
![s1](https://private-user-images.githubusercontent.com/32542424/327252313-2056de1e-6841-4455-bc95-6ffbdaec1542.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2NTMwMDIsIm5iZiI6MTcxOTY1MjcwMiwicGF0aCI6Ii8zMjU0MjQyNC8zMjcyNTIzMTMtMjA1NmRlMWUtNjg0MS00NDU1LWJjOTUtNmZmYmRhZWMxNTQyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI5VDA5MTgyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRjZmFmNWJkY2NmZTZmYWRkYmM0ZjZmMWM3ODVhZTFhYzgwMTE5MDdmNThjYzljOTIyYmJjMmVmZWIxNzAyOTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.EGDAJY7GfQXP5DZoqs-Xl8vmUDYPzcgGrCJi4YSC0eQ)
![s2](https://private-user-images.githubusercontent.com/32542424/327253148-241f9f7e-f926-4885-a448-b2a6769c7518.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2NTMwMDIsIm5iZiI6MTcxOTY1MjcwMiwicGF0aCI6Ii8zMjU0MjQyNC8zMjcyNTMxNDgtMjQxZjlmN2UtZjkyNi00ODg1LWE0NDgtYjJhNjc2OWM3NTE4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI5VDA5MTgyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE2NmNjM2NkNGI5MDkxNjY1YWFkYzc5MWYzZjQ5ZWRmYjlkMGM4ZTU2N2IwNWYyNjBjOWI0Y2Q0ZmE3NDlmYTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.sQ99WSKiJDDl8c1wR4wchSLRBXSRgQbBknpnDTCzC4M)
![s1](https://private-user-images.githubusercontent.com/32542424/327253476-4cb65274-aa61-4c78-9439-874d655a2295.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2NTMwMDIsIm5iZiI6MTcxOTY1MjcwMiwicGF0aCI6Ii8zMjU0MjQyNC8zMjcyNTM0NzYtNGNiNjUyNzQtYWE2MS00Yzc4LTk0MzktODc0ZDY1NWEyMjk1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI5VDA5MTgyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWEzN2M1ZTk2NGE4OTczOGVhOGYwMDg3YTA0ZmE5MWYxNWVhZjE2YzYwZmExMTRlYzk5MmFkMjVkYjg1MWIyNjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.eCLoeRfi9oq4JPdHlxsHOqH7Eyr8xu_1FLc8VEdn5uA)
![s2](https://private-user-images.githubusercontent.com/32542424/327254737-c8a96798-e180-4902-aba7-58602167bde8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2NTMwMDIsIm5iZiI6MTcxOTY1MjcwMiwicGF0aCI6Ii8zMjU0MjQyNC8zMjcyNTQ3MzctYzhhOTY3OTgtZTE4MC00OTAyLWFiYTctNTg2MDIxNjdiZGU4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI5VDA5MTgyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWUzNjJkMmI4MDEwODZlZWE1NGIwMjRmYjUyNjY0OTQwNDE4NjY3NmE1YTk2YTg4OTdkOThiMmM1MmY1Yzg2ZTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.DQJW-_Qn4TK-71BzmNbxtmGLmSTXd7hr4Y95X1IN_8Y)
![s2](https://private-user-images.githubusercontent.com/32542424/327253470-0db53073-29bb-4cf8-8f4c-3dcf3fe64fb3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2NTMwMDIsIm5iZiI6MTcxOTY1MjcwMiwicGF0aCI6Ii8zMjU0MjQyNC8zMjcyNTM0NzAtMGRiNTMwNzMtMjliYi00Y2Y4LThmNGMtM2RjZjNmZTY0ZmIzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI5VDA5MTgyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE3MGEwMWFhNmQ1MzIwZTQzNTkwMDY1NTIzYjg1NzU5N2NiZDY3ODZmMWJmYjUyYTFjYTBkNDEyZmQ0YTExYTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.tBIMVxQOT7OKXqDlRuR06vZkvuTUwNfesQ4r_XhOKWs)
![s2](https://private-user-images.githubusercontent.com/32542424/334754745-9b25b3f4-e82d-4468-bc65-62b84d19c691.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2NTMwMDIsIm5iZiI6MTcxOTY1MjcwMiwicGF0aCI6Ii8zMjU0MjQyNC8zMzQ3NTQ3NDUtOWIyNWIzZjQtZTgyZC00NDY4LWJjNjUtNjJiODRkMTljNjkxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI5VDA5MTgyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE5ZmFiZGY2MTE3OWZlYTFkMTczOWE0MjM4MzZiYjU5ODE0Y2U4ZDYyOGEwZTU4NjI0NzNiMjNhNThjZjZmZjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.n_KUxfW_UHq6VKrp4Kjgz0GpemXlHwW9dQs3qJpJq84)
![s2](https://private-user-images.githubusercontent.com/32542424/334873884-f0585d06-97fb-49c5-a014-ca03907c4a89.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2NTMwMDIsIm5iZiI6MTcxOTY1MjcwMiwicGF0aCI6Ii8zMjU0MjQyNC8zMzQ4NzM4ODQtZjA1ODVkMDYtOTdmYi00OWM1LWEwMTQtY2EwMzkwN2M0YTg5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI5VDA5MTgyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZjNzRkYTFmOTA4ZTViOWYzNDIwNThhNDQ0YzU3MDA1YjUwMjkzNThjZGVlMDgxYTE2MGMzNzk2MzczYTUwNzgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.TWPEA70jSfd4YEgXVCaNEO6x33dGeyY3YPVimTjhIoM)
- Kotlin Multiplatform
- Compose Multiplatform
- Kotlin Coroutines
- Koin
- Coil
- Ktor
- Compose Navigation
- Jetpack Lifecycle
- Jetpack ViewModel
The app uses Rijksmuseum API, hence you need to get your own API key from here.
Make sure to add your key to secrets.properties
file.
In order to sign your builds generate rijksmuseum.jks
keystore and add keystore password, alias and store password in secrets.properties
.
secrets.properties would look like this:
rijksmuseum.access.key=#Add your Rijksmuseum api key
rijksmuseum.keystore.password=#Add your keystore password
rijksmuseum.key.alias=#Add your key alias
rijksmuseum.key.password=#Add your key password
%%{
init: {
'theme': 'neutral'
}
}%%
graph LR
:composeApp --> :core:designsystem
:composeApp --> :core:network
:composeApp --> :feature:arts
:core:network --> :core:model
:core:data --> :core:common
:core:data --> :core:model
:core:data --> :core:network
:core:domain --> :core:common
:core:domain --> :core:model
:core:domain --> :core:data
:core:designsystem --> :core:common
:feature:arts --> :core:common
:feature:arts --> :core:model
:feature:arts --> :core:domain
:feature:arts --> :core:designsystem