A modern Android application showcasing the best of Kathmandu through curated local recommendations. Built with Jetpack Compose as the final project for Unit 4 of the Android Basics with Compose course.
Kathmandu My-City is a recommendation app that helps users discover the cultural richness and iconic destinations of Kathmandu, Nepal. The app features an intuitive, category-based interface highlighting must-visit locations across special places, temples, shopping areas, and tourist destinations.
-
Categorized Recommendations
-
🏛️ Special Places: Iconic and historically significant buildings across Kathmandu
-
🕉️ Temples: Prominent Hindu and Buddhist temples, including Pashupatinath
-
🛍️ Major Shops: Popular shopping streets, markets, and commercial areas
-
🗺️ Tourist Destinations: Well-known attractions and places of interest for visitors
-
Seamless Navigation
-
Smooth transitions between categories and location details
-
State preservation across configuration changes (e.g., screen rotation)
- Language: Kotlin
- UI Framework: Jetpack Compose (Material Design 3)
- Architecture: MVVM (Model-View-ViewModel)
- Navigation: Jetpack Navigation Compose
- State Management: ViewModel & StateFlow
com.example.kathmandu
├── data # Local data provider (DataSource)
├── model # Data models and UI State (Places.kt, CityUiState)
├── ui # UI Layer
│ ├── theme # Material 3 design system configuration
│ ├── CityViewModel # Business logic and state management
│ ├── CityScreen.kt # Root Composable and navigation entry point
│ └── [Screens] # Feature-specific Composables (Start, Categories, Options)
└── MainActivity.kt # App entry point
- Custom Material 3 color scheme reflecting Kathmandu's cultural aesthetics
- Thoughtfully crafted typography and shapes
- Consistent theming throughout the application
This project demonstrates proficiency in modern Android development practices:
- Navigation & State Management: Utilizes Compose Navigation component with ViewModel and UI State for robust state management
- Material 3 Components: Full implementation of M3 design guidelines for a polished, contemporary look
- Adaptive Layouts: Responsive UI components that adjust to different screen sizes and orientations
This project was developed as part of the Android Basics with Compose course, specifically Unit 4 focusing on Adaptive Layouts.
- Clone this repository
git clone https://github.com/SamratVsn/Kathmandu.git-
Open the project in Android Studio (Hedgehog or later recommended)
-
Build and run the application on an emulator or physical device
This project is part of an educational course and follows the Android Basics with Compose curriculum guidelines.
Samrat Vsn
- GitHub: @SamratVsn
- LinkedIn: @SamratVsn
- Instagram: @SamratVsn
Discover Kathmandu, one recommendation at a time 🇳🇵