- Android application;
- Graduation project of the track "Mobile Development" of the educational program "IT Academy Samsung".
- To turn off the alarm, you must complete the game;
- Games (currently one) have difficulty levels;
- Completion of the game is assessed by points;
- It is possible to view your results, as well as share them;
- Convenient interface for setting various alarms for days of the week;
- Ability to copy alarms;
- Saving alarms on the cloud (by button);
- Application colors are adjusted to the system ones (Dynamic Colors).
- Increase in the number of games;
- System of friends and teams;
- Authorization via email;
- Customizable welcome window after the alarm (display weather, news);
- Criteria for taking into account the result (protection from “farm” points).
Apk file is available via latest release.
Build project from command line:
./gradlew build
Also you can build the apk using docker container. First launch docker and build image:
docker build . -t games-alarm-app
Then run a container:
docker run -d --name games-alarm-app games-alarm-app sleep infinity
Copy apk:
docker cp games-alarm-app:/opt/project/app/build/outputs/apk/debug/app-debug.apk /games-alarm-app-debug.apk
Stop and delete container:
docker stop games-alarm-app
docker rm games-alarm-app
![Screenshot](https://private-user-images.githubusercontent.com/115590353/302916723-1a842c82-3be6-4812-a4ce-7ead381bdf88.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzNTYzNzgsIm5iZiI6MTcyMTM1NjA3OCwicGF0aCI6Ii8xMTU1OTAzNTMvMzAyOTE2NzIzLTFhODQyYzgyLTNiZTYtNDgxMi1hNGNlLTdlYWQzODFiZGY4OC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOVQwMjI3NThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZDNiYTEwN2E5MTMwZGE5YzRhZmYzYTZiYTQ2OTI2MDVkODQ4N2IwYzJlZjAwMzU0ZTIyYWY1MDE2MGRmMTUzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Ih8x_wgB-m-qw2eoLzFLnJSTTal2A-EH7cRh7QI2tj0)
![Screenshot](https://private-user-images.githubusercontent.com/115590353/302917688-cdb1ab37-a6c4-4e94-824b-ac1d5c1805c8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzNTYzNzgsIm5iZiI6MTcyMTM1NjA3OCwicGF0aCI6Ii8xMTU1OTAzNTMvMzAyOTE3Njg4LWNkYjFhYjM3LWE2YzQtNGU5NC04MjRiLWFjMWQ1YzE4MDVjOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOVQwMjI3NThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mOGNjZGM2ZjRhZDQxMDAwOGYxMDlkZTAxM2Y5ZWJkMDdiZTJiZjRmMGI1YWUwZmJhZDA1ZTJlZGI2ZTE0ZjFlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.SN308Cg0AWKtZygTtyneaDjeepgjd8cl9w43bKiKR9c)
![Screenshot](https://private-user-images.githubusercontent.com/115590353/302917987-33ffa7e6-ae14-4d7f-b9be-020556cbab20.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzNTYzNzgsIm5iZiI6MTcyMTM1NjA3OCwicGF0aCI6Ii8xMTU1OTAzNTMvMzAyOTE3OTg3LTMzZmZhN2U2LWFlMTQtNGQ3Zi1iOWJlLTAyMDU1NmNiYWIyMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOVQwMjI3NThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02OTk2YzU0NzVmNmMzZTkzMDU0ZjRmMzY2ZTRlMDAzOTdhMDAyYTFlZGExZTIzZGE4NDZkNzZhMDlkNjE3NjhkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.YE8h2GeiJbVWMP_NtxCejaBhWmfSfeMAIJiwah0q_KY)
![Screenshot](https://private-user-images.githubusercontent.com/115590353/302918013-a295d149-216d-441f-8622-35f0281cf1d7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzNTYzNzgsIm5iZiI6MTcyMTM1NjA3OCwicGF0aCI6Ii8xMTU1OTAzNTMvMzAyOTE4MDEzLWEyOTVkMTQ5LTIxNmQtNDQxZi04NjIyLTM1ZjAyODFjZjFkNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOVQwMjI3NThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03NDEyNzA2ZDhhMzcyYzE4NWQxZjA1ZWIzYjBhOTEwOGJjNWZlM2ZkNGJjMDEzOWQxOTFlYmYzNWJlNmVlN2RhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.yI2_QT5KSEHG5HbE1hT06rGGTcr8A8XAKVVGujqhj-U)
![Screenshot](https://private-user-images.githubusercontent.com/115590353/302918050-43097668-7527-4440-a98e-a8724dba6a45.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzNTYzNzgsIm5iZiI6MTcyMTM1NjA3OCwicGF0aCI6Ii8xMTU1OTAzNTMvMzAyOTE4MDUwLTQzMDk3NjY4LTc1MjctNDQ0MC1hOThlLWE4NzI0ZGJhNmE0NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOVQwMjI3NThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hMTQ1YTI1MGE2MjY3MzliOWIwODM3MmM0ODUxNTZiZTU3MjcxZWRjYjQ5OWY3MmUyOWJlODU2MjE4NTBlYzYyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.5VA_gHtrXBZTcA9HSe2VUmIvRXoCUFgXI1xXCejX0Ys)
![Screenshot](https://private-user-images.githubusercontent.com/115590353/302918074-6c58916c-bc64-4953-9741-a9c1e148e658.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzNTYzNzgsIm5iZiI6MTcyMTM1NjA3OCwicGF0aCI6Ii8xMTU1OTAzNTMvMzAyOTE4MDc0LTZjNTg5MTZjLWJjNjQtNDk1My05NzQxLWE5YzFlMTQ4ZTY1OC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOVQwMjI3NThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02YjdiZmMyNDY5YjkyY2EzMjQyMjgyMGRhYjkwZGMyMTEwMDBhMDkyOTIxODBjZmIxNWY0OWI0ZjMwZTVhMjUyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.xQhXSVkHqmJGOHa8ist-stpPHzs7KL23t-PqBefOS-I)
![Screenshot](https://private-user-images.githubusercontent.com/115590353/302918099-0255233c-5466-4746-bd79-5030e05a34d2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzNTYzNzgsIm5iZiI6MTcyMTM1NjA3OCwicGF0aCI6Ii8xMTU1OTAzNTMvMzAyOTE4MDk5LTAyNTUyMzNjLTU0NjYtNDc0Ni1iZDc5LTUwMzBlMDVhMzRkMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOVQwMjI3NThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lZWViZDRhNjRmMmE5N2IxODdhZTc5ZWRkZmRiMDc0Y2VjNDNkMzE3YzUyZDg3MWExNzNjMjQ2OTg3ZTRlMDBiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Ig_nIwDNsESX5rHmupyVoNAitX0vEkeXdr7-QoJyqz0)
games-alarm-app_for_readme.mp4
- Kotlin;
- Firebase;
- Room;
- MVVM;
- Kotlin coroutines;
- Material design 3;
- Navigation;
- Google auth;
- Alarm Manager;
- Retrofit.
dependencies {
// Lifecycle
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.1'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
// Firebase
implementation 'com.google.firebase:firebase-auth-ktx:22.0.0'
implementation 'com.google.firebase:firebase-database-ktx:20.2.1'
implementation 'com.google.firebase:firebase-auth:22.0.0'
// Google play auth
implementation 'com.google.android.gms:play-services-auth:20.5.0'
// Glide
implementation 'com.github.bumptech.glide:glide:4.13.2'
// Room
def room_version = "2.5.1"
implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version"
implementation "androidx.room:room-rxjava2:$room_version"
// Navigation
def nav_version = "2.5.3"
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
// UI
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
// Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
// Kotlin
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
// Test
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
// Other
implementation 'androidx.core:core-ktx:1.10.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
}