This application was developed specially for students and professors of St. Petersburg Polytechnic University. It provides quick access to schedule, group and department searches, campus navigation and also allows making some notes. The project was started in 2018, is maintained and regularly updated. This application is not the official application of the university, but has over 5 thousand users who use the app almost every day.
- Kotlin
- Coroutines
- Clear architecture (MVI with flows)
- Single activity app
- Multi-module-architecture with auto-clearing unused components from RAM (mechanism based on weak-references)
- Unit tests for every each useCase, viewModel, repository + tests for room migrations and interceptors
- Optimized UI (no xml-inflating for recycler view items - only native views)
- Supports landscape mode
- kDoc for everything (used an own plugin for Android studio Advance Kotlin Documentation Generator )
- Clear and careful coding (median size of fragments, useCases and viewModels is 125 lines)
- Obfuscation for prod-version (aggressive mode of R8)
- Compose (for new screens)
- Dagger
- Room
- Retrofit
- Yandex-map-kit
- Mockito
- Cicerone (powerful framework for navigation. Very helpful for multi-module-architecture)
- Firebase messaging (used for "Spirit of Peter": time to time, I send to students some funny messages or congratulations ;)
- Firebase crashlytics & analytics
- Paparazzi (for new screens)
- Coil
I have been in Android since 2017. This is my pet project. You can judge me by this code. This application is not "dress app", I always use the same careful style for developing.
- Implemented news & web-content modules
- Removed feedback module (changed to email intent)
- Slightly updated design
- Fixed crash for Samsungs
- Updated libraries (also JDK -> 21, kotlin -> 2.0)
- Replaced depreacated code
- Fixed some minor UI bugs
- Implemented Paparazzi and compose tests (for new screens)
- Disabled
android.enableJetifier=true
- Migrated to kts from groovy
- Updated libraries