The app can show the viewer different kinds of information in the form of widgets, such as calendar, name days and news updates.
Firstly, choose your language.
Choose your language
ENGLISH
POLISH
There are instructions on how to get started, and you will see a demo of the app in the screenshots.
./gradlew clean assembleDebug
- Install dependency injection(dagger)
- Splash screen with icon fade out effect
- Name days in Poland
- Monthly agenda of name days
- Find name days
- Find news api
- Check how PagingData is working
- Add junit tests for use cases, viewmodel tests
- Dashboard personalization
- Use datastore for user settings
- Add draggable element
- Adapt name days strategy for update data structures without lose data from the app. The roadmap's strategy: database.adoc
- Kotlin - Kotlin is a programming language that can run
on JVM. Google has announced Kotlin as one of its officially supported programming languages in
Android Studio; and the Android community is migrating at a pace from Java to Kotlin
- Dagger Hilt - A
dependency injection library for Android that reduces the boilerplate of doing manual dependency
injection in your project
- Jetpack Compose - Jetpack Compose is
Android’s recommended modern toolkit for building native UI. It simplifies and accelerates UI
development on Android. Quickly bring your app to life with less code, powerful tools, and
intuitive Kotlin APIs.
- Kotlin Flow - In coroutines, a flow is a type
that can emit multiple values sequentially, as opposed to suspend functions that return only a
single value. For example, you can use a flow to receive live updates from a database.
- Timber - A logger with a small, extensible API which
provides utility on top of Android's normal Log class.
- Kotlin Coroutines - A concurrency design
pattern that you can use on Android to simplify code that executes asynchronously.
- Material Design 3 - Modular and
customizable Material Design UI components for Android
- Retrofit - Retrofit is a REST Client for Java and
Android by Square inc under Apache 2.0 license. Its a simple network library that used for network
transactions. By using this library we can seamlessly capture JSON response from web service/web
API.
- Paging - The
Paging library helps you load and display pages of data from a larger dataset from local storage
or over network. This approach allows your app to use both network bandwidth and system resources
more efficiently.
- Navigation Components - Navigation refers to
the interactions that let users navigate across, into, and back out from the different pieces of
content within your app.
- Viewmodel - The
ViewModel class is designed to store and manage UI-related data in a lifecycle conscious way
- JUnit - JUnit is a simple framework to write repeatable tests.
- Mockk This is a mocking library for Kotlin.
- Robolectric - Robolectric is a framework that brings fast and
reliable unit tests to Android.
- Espresso - Android UI tests
- Room - The Room persistence
library provides an abstraction layer over SQLite to allow fluent database access while harnessing
the full power of SQLite.