- 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
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'
}