Skip to content

WhatsTheTime is a versatile cross-platform application designed to make tracking time across different cities seamless and intuitive. Featuring both analog and digital clock displays, the app is perfect for global users managing multiple time zones. Built with the power of Kotlin Multiplatform, the app ensures a smooth experience on both Android an

License

Notifications You must be signed in to change notification settings

Avinash-Codes/WhatsTheTime

Repository files navigation

WhatsTheTime

WhatsTheTime is a cross-platform application that helps users keep track of time across different cities around the world. The app provides a user-friendly interface to view the current time in various time zones and offers additional features such as analog and digital clock displays.

clock.-.Made.with.Clipchamp.mp4

Features

  1. Home Screen: Displays a list of cities with their respective current times. Users can add or remove cities from this list.
  2. City Search Bar: Allows users to search for cities and add them to their list.
  3. Analog Watch: Provides an analog clock display for the selected city.
  4. Digital Clock: Displays the current time in a digital format for the selected city.
  5. Settings: Allows users to configure app settings such as time format (12-hour or 24-hour) and theme (light or dark mode).

Architecture

This app follows the Model-View-ViewModel (MVVM) architecture to ensure a clear separation of concerns and maintainability.

Data Source

The app uses the World Time API to fetch the current time for different cities: World Time API

Libraries Used

Use Library
Navigation Jetpack Compose Navigation
Data Store AndroidX DataStore
HTTP Client/Serialization Retrofit
ViewModel AndroidX ViewModel

Setup Instructions

Prerequisites

Warning You need a Mac with macOS to write and run iOS-specific code on simulated or real devices. This is an Apple requirement.

To work with this project, you need the following:

Running on Android

Using an Emulator

  1. Ensure you have an Android virtual device available. Otherwise, create one.
  2. In Android Studio, select androidApp from the list of run configurations.
  3. Choose your virtual device and click Run.

Using Gradle

To install the Android application on a real Android device or emulator, run the following command in the terminal:

./gradlew installDebug

Running on iOS

Using a Simulator

  1. In Android Studio, select Edit Configurations from the run configurations menu.
  2. Navigate to iOS Application > iosApp.
  3. In the Execution target list, select your target device and click OK.
  4. Select the iosApp run configuration and click Run next to your virtual device.

Using a Real Device

To run the app on a real iOS device, you need the following:

  • The TEAM_ID associated with your Apple ID
  • The iOS device registered in Xcode

Follow the steps in the official guide to set up your device.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

WhatsTheTime is a versatile cross-platform application designed to make tracking time across different cities seamless and intuitive. Featuring both analog and digital clock displays, the app is perfect for global users managing multiple time zones. Built with the power of Kotlin Multiplatform, the app ensures a smooth experience on both Android an

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages