iamsafidev / PrayerTimes-App

Accurate prayer times, 12-hour format, day navigation, offline support, and real-time countdowns. Also, Qibla direction on an interactive map. Built with MVVM, Clean Arch, SOLID principles, and rigorous unit testing.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PrayerTime-App

  • In the home screen, the app must fetch and show today's prayer times based on the user's location.
  • Change the selected day by clicking back and forward arrows with a limitation to today.
  • Store times locally to be shown if there was any problem with the network.
  • Showing times in 12-hour format.
  • Countdown for the next prayer time in the home screen.
  • Showing the current location title in the home screen.
  • Navigate to the map screen to show Kaaba marker and current location marker.
  • Showing Qibla direction line on the map screen.
  • android widget for countdown
  • Change the live direction based on rotationVector sensor result .
  • ScreenShots:

    Screenshot 1 Screenshot 2 Screenshot 4 Screenshot 4 Screenshot 3

    App-Arch

    Screenshot from 2023-06-20 17-41-23

    In-App architecture

    arch

    Unit testing for:

    Screenshot from 2023-06-20 17-48-24

  • Local Database
  • Repository
  • Features

  • Simple UI
  • Simple Animations
  • cashing
  • Tools & APIs

    • MVVM Arch
    • Clean architecture
    • Dependency injection with dager Hilt
    • Fused Location Provider API in Android
    • Room DB
    • Open street maps
    • Unit Testing
    • Retrofit
    • OkHttp
    • Sealed Classes
    • Kotlin Coroutines
    • Live Data
    • Navigation component
    • View binding
    • leakCanary
    • Observing your network connection with Flow
    • SplashScreen

    About

    Accurate prayer times, 12-hour format, day navigation, offline support, and real-time countdowns. Also, Qibla direction on an interactive map. Built with MVVM, Clean Arch, SOLID principles, and rigorous unit testing.


    Languages

    Language:Kotlin 100.0%