{"id":26047657,"url":"https://github.com/youssefmsaber/tamanina","last_synced_at":"2026-05-15T12:34:58.715Z","repository":{"id":280828372,"uuid":"942989022","full_name":"YoussefmSaber/Tamanina","owner":"YoussefmSaber","description":"Azkar and Salah tracking application","archived":false,"fork":false,"pushed_at":"2025-03-05T14:12:22.000Z","size":284,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-05T15:19:48.641Z","etag":null,"topics":["android","android-application","dagger-hilt","dependency-injection","kotlin","ktor-client","room-database","sharedpreferences","stateflow","viewmodel"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YoussefmSaber.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-05T02:10:17.000Z","updated_at":"2025-03-05T14:16:37.000Z","dependencies_parsed_at":"2025-03-05T15:19:50.286Z","dependency_job_id":"e691c530-9c26-4711-b056-2c782ec02b1d","html_url":"https://github.com/YoussefmSaber/Tamanina","commit_stats":null,"previous_names":["youssefmsaber/tamanina"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoussefmSaber%2FTamanina","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoussefmSaber%2FTamanina/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoussefmSaber%2FTamanina/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoussefmSaber%2FTamanina/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YoussefmSaber","download_url":"https://codeload.github.com/YoussefmSaber/Tamanina/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242473055,"owners_count":20134020,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-application","dagger-hilt","dependency-injection","kotlin","ktor-client","room-database","sharedpreferences","stateflow","viewmodel"],"created_at":"2025-03-07T23:12:44.809Z","updated_at":"2026-05-15T12:34:58.681Z","avatar_url":"https://github.com/YoussefmSaber.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tamanina  \n\nTamanina is a native Android application built with Jetpack Compose, designed to help users stay connected to their faith by providing daily Azkar, prayer times, and a Tasbeeh counter. The app ensures a smooth and intuitive experience with a modern UI and a well-structured architecture.  \n\n## Features  \n\n- **Daily Azkar Reminders** – Get notifications for morning and evening Azkar.  \n- **Accurate Prayer Times** – Based on the user’s location, fetched using APIs.  \n- **Tasbeeh Counter** – A simple digital counter for daily recitations.  \n- **Location-based Adjustments** – Stores and updates prayer times using Shared Preferences.  \n- **Offline Support** – Stores Azkar and prayer times using Room database.  \n- **Customizable UI** – A clean and calming design to enhance user experience.  \n\n## Tech Stack  \n\n- **Language**: Kotlin  \n- **UI Framework**: Jetpack Compose  \n- **Dependency Injection**: Dagger Hilt  \n- **Networking**: Ktor Client  \n- **Local Storage**: Room Database \u0026 Shared Preferences  \n- **State Management**: ViewModel \u0026 StateFlow  \n\n## Project Structure  \n\n```\nطمأنينة/\nطمأنينة/\n│-- app/src/main/java/com/saber/tomanina/\n│   ├── common/                # Shared utilities and UI components\n│   │   ├── utils/             # Helper functions \u0026 extensions\n│   │   ├── widgets/           # Reusable Compose UI components\n│   │\n│   ├── core/                  # Core functionalities\n│   │   ├── constants/         # Application-wide constant values\n│   │   ├── network/           # API client configuration (Ktor)\n│   │   ├── storage/           # Data storage layer\n│   │   ├── utils/             # General utility classes \u0026 extensions\n│   │\n│   ├── di/                    # Dependency Injection with Dagger Hilt\n│   │   ├── AppModule.kt       \n│   │   ├── DatabaseModule.kt  \n│   │   ├── NetworkModule.kt   \n│   │   ├── SharedPreferencesModule.kt\n│   │\n│   ├── features/              # Application features (modular structure)\n│   │   ├── azkar/             # Azkar feature module\n│   │   │   ├── data/          # Data layer\n│   │   │   ├── domain/        # Business logic (Use Cases)\n│   │   │   ├── presentation/  # UI \u0026 ViewModels\n│   │\n│   │   ├── hijri_calender/    # Hijri Calendar feature module\n│   │   │   ├── data/          # Data layer\n│   │   │   ├── domain/        # Business logic (Use Cases)\n│   │   │   ├── presentation/  # UI \u0026 ViewModels\n│   │\n│   │   ├── prayer_times/      # Prayer Times feature module\n│   │   │   ├── data/          # Data layer\n│   │   │   ├── domain/        # Business logic (Use Cases)\n│   │   │   ├── presentation/  # UI \u0026 ViewModels\n│   │\n│   │   ├── quran/      # quran feature module\n│   │   │   ├── data/          # Data layer\n│   │   │   ├── domain/        # Business logic (Use Cases)\n│   │   │   ├── presentation/  # UI \u0026 ViewModels\n│   │\n│   ├── ui/theme/              # Theming \u0026 styling for Jetpack Compose\n│   ├── MainActivity.kt        # Application entry point\n\n```\n\n## Installation  \n\n1. **Clone the Repository**  \n\n   ```bash\n   git clone https://github.com/youssefmsaber/tomanina.git\n   cd tomanina\n   ```\n\n2. **Open in Android Studio**  \n\n   - Open Android Studio  \n   - Select \"Open an Existing Project\"  \n   - Navigate to the project directory  \n\n3. **Build and Run**  \n\n   - Ensure you have an Android device or emulator set up  \n   - Click \"Run\" ▶️ in Android Studio  \n\n## API Configuration  \n\nThe app fetches prayer times using an external API. Update your API key in the appropriate data source class.  \n\n## Contributing  \n\n1. **Fork the repository**  \n2. **Create a new branch**  \n\n   ```bash\n   git checkout -b feature/new-feature\n   ```\n\n3. **Commit your changes**  \n\n   ```bash\n   git commit -m \"Add new feature\"\n   ```\n\n4. **Push to GitHub**  \n\n   ```bash\n   git push origin feature/new-feature\n   ```\n\n5. **Open a Pull Request**  \n\n## License  \n\nThis project is licensed under the MIT License.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoussefmsaber%2Ftamanina","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoussefmsaber%2Ftamanina","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoussefmsaber%2Ftamanina/lists"}