Skip to content

georrge1994/polykek-schedule-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Get it on Google Play

Logo

Schedule application for Peter the Great St.Petersburg Polytechnic University

About project

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.

Architecture and main technologies

  • 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)

Used the follow frameworks

  • 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

Demonstrating some features

Smooth navigation between screens Animated search bar Independent navigation by tabs
Campus navigation with help Yandex-map-kit Animated snow for winter holidays Animated "heartfall" for the Love days
Block with actual news of the university Update all content by switching between groups Just smooth animation =)

🚀 About Me

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.

🔗 Contacts

linkedin

telegram

License

MIT License

Versions

v 2.3.3

  • 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

v 2.3.0

  • Migrated to kts from groovy
  • Updated libraries

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages