DotaGuides is a mobile application developed in Kotlin for Android. The app is designed to help players improve their gameplay by providing Up-to-date information about heroes, items, and matches.
It combines a local database, cloud storage, and external API to deliver real-time and structured game data.
Explanatory Note in russian: https://www.dropbox.com/scl/fi/r1oi1p191jxdmgkz7lcve/404.docx?rlkey=uxxtbwjkztvxe99ajvhb34wm5&st=ev8qaz5m&dl=0
- Kotlin
- Android Studio
- MVVM Architecture
- Firebase Realtime Database
- Retrofit (OpenDota API)
- Room (local database)
The application follows the MVVM (Model-View-ViewModel) pattern:
- Model – data classes (Hero, Item, Match, Player)
- View – UI (Activities, Fragments)
- ViewModel – business logic and data handling
The project also includes a Repository layer for managing data sources.
Used for storing:
- heroes
- items
- abilities
- talents
Data is stored in JSON format.
Used for:
- fetching match data
- retrieving professional matches
Used for:
- caching match data locally
- reducing API calls
- offline access
- Browse heroes and items
- View detailed information (abilities, stats, etc.)
- Search by name
- Track important in-game events
- View matches of professional players
- Filter by selected hero
-
Search match by ID
-
View detailed statistics:
- players
- items
- match results
-
User interacts with UI
-
ViewModel processes the action
-
Repository fetches data:
- from Firebase (static data)
- from API (dynamic data)
-
Data is mapped (DTO → Model)
-
UI is updated