KykScraped is a modern Android application that displays daily menu information for KYK dormitories in Turkey. The app allows users to check breakfast and dinner menus for different cities.
- View menus for different cities across Turkey
- Toggle between breakfast and dinner menus
- Display multiple days of menu information
- Real-time data fetching via web scraping
- Modern Material 3 UI with Jetpack Compose
- Calorie information for each menu (when available)
The application follows Clean Architecture principles with MVVM pattern:
KykScraped/
├── data/ # Data layer (APIs, DTOs, Repositories implementation)
├── domain/ # Domain layer (Business logic, Models, Use cases)
└── presentation/ # UI layer (Screens, ViewModels)
- Clean Architecture
- MVVM
- Dependency Injection
- Kotlin Coroutines
- Jetpack Compose
- Repository Pattern
- Web Scraping
- Kotlin: Primary programming language
- Jetpack Compose: Modern UI toolkit
- Material 3: Design system
- Hilt: Dependency injection
- Ktor: Networking client
- JSoup: HTML parsing
- Coroutines: Asynchronous programming
- ViewModel: UI state management
- Flow: Reactive programming
- Android Studio Iguana 2023.2.1 or newer
- Android SDK 35
- JDK 17 or newer
- Clone the repository:
git clone https://github.com/tamersarioglu/kykscraped.git
- Open the project in Android Studio
- Sync Gradle files and build the project
- Run the application on an emulator or physical device
The application uses the following configurations:
- minSdk: 24
- targetSdk: 35
- compileSdk: 35
├── app/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/tamersarioglu/kykscraped/
│ │ │ │ ├── data/
│ │ │ │ │ ├── mapper/
│ │ │ │ │ ├── model/
│ │ │ │ │ ├── remote/
│ │ │ │ │ └── repository/
│ │ │ │ ├── di/
│ │ │ │ ├── domain/
│ │ │ │ │ ├── model/
│ │ │ │ │ ├── repository/
│ │ │ │ │ ├── usecase/
│ │ │ │ │ └── util/
│ │ │ │ ├── presentation/
│ │ │ │ │ ├── menu/
│ │ │ │ └── ui/theme/
│ │ │ └── res/
- Select a city from the dropdown menu
- Toggle between breakfast and dinner menus using the switch
- View the daily menus for the selected city and meal type
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Tamer Sarioglu
- Kykyemek.com for providing the menu data