https://github.com/skaradimitriou/elmepa-uni-app
University Application developed for ELMEPA University as a tool for students. Live @ Google Play. Tech Stack: Kotlin, MVVM Clean Architecture, Coroutines, Flows, Android Jetpack, Jsoup, Glide, Room Db, Firebase (Firestore, Auth, Performance, Crashlytics), Material 3
https://github.com/skaradimitriou/elmepa-uni-app
android android-application android-development application clean-architecture coroutines flows hilt hilt-android kotlin multi-module-android mvvm
Last synced: 6 months ago
JSON representation
University Application developed for ELMEPA University as a tool for students. Live @ Google Play. Tech Stack: Kotlin, MVVM Clean Architecture, Coroutines, Flows, Android Jetpack, Jsoup, Glide, Room Db, Firebase (Firestore, Auth, Performance, Crashlytics), Material 3
- Host: GitHub
- URL: https://github.com/skaradimitriou/elmepa-uni-app
- Owner: skaradimitriou
- Created: 2020-06-15T16:29:05.000Z (over 5 years ago)
- Default Branch: develop
- Last Pushed: 2025-04-07T19:37:15.000Z (6 months ago)
- Last Synced: 2025-04-07T20:35:31.302Z (6 months ago)
- Topics: android, android-application, android-development, application, clean-architecture, coroutines, flows, hilt, hilt-android, kotlin, multi-module-android, mvvm
- Language: Kotlin
- Homepage:
- Size: 7.6 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Management Science & Technology (ELMEPA) University App (Android)
![]()
This repository contains an Android application built & tailored specifically for our university community.
App Presentation 🎬 | Download App 📱 | Read More about the App 📖 | Releases Overview 🚀
------------- | ------------- | ------------- | -------------
[YouTube URL](https://youtu.be/S6V7wsez1-c) | [Google Play](https://play.google.com/store/apps/details?id=com.stathis.elmepaunivapp) | [Elmepa URL](https://mst.hmu.gr/ypiresies/mobile-epharmogh-tmhmatos/) | [App Releases](https://github.com/skaradimitriou/elmepa-uni-app/releases)## Features 💡
Interactive Interface
Engaging user experience designed to cater to the needs of students, faculty, and staff.Department News
Stay informed with the news, announcements & events directly from the University.Faculty Contact Information
Access the "Personnel" screen and search your professor's contact information. Open the Personnel details screen and learn more about your professor.Academic Schedule
Easily access the Department's academic schedule in-app.Application Forms
Easily find the application form that you need to fill out in-app.Freshmen Students Information & Onboarding steps - Coming soon 🔜
Easily access the Freshmen Student's onboarding steps in-app.Engaging Syllabus
Easily access your schedule and syllabus while on the go (for both Undergraduate & Postgraduate students).Department FaQ
Do you have a question? Our FaQ section is here for you!Personalization
Dark theme or Light theme? Tailor the app to your own preference.## App Architecture 🛠️
![]()
## Modularization 🧩
![]()
Navigate on each module to see detailed dependencies.
:app module
The :app module serves as the entry point for the application. It includes the main activity and is responsible for initializing the app and routing to the appropriate feature modules.:core module
The :core module contains shared resources and utilities that are used across other modules. This includes common utilities, network operations, local database, datastore setup, and last but not least, the domain logic.:feature module
The :feature module encapsulates specific, self-contained functionality related to a particular aspect of the app. (e.g department news).## Tech Stack ⚙️
- [**Kotlin**](https://kotlinlang.org/): A modern programming language for building robust Android applications.
- [**Android Jetpack**](https://developer.android.com/jetpack): Utilize the latest Android Jetpack components for efficient development.
- [**MVVM Clean Architecture**](https://developer.android.com/topic/architecture): Implement a clean separation of concerns with Model-View-ViewModel architecture following Clean Architecture principles.
- [**Coroutines**](https://kotlinlang.org/docs/coroutines-overview.html): Leverage Kotlin Coroutines for asynchronous and non-blocking programming.
- [**Kotlin Flows**](https://developer.android.com/kotlin/flow): Utilize Kotlin Flows for reactive programming, enabling seamless data stream processing.
- [**Hilt**](https://developer.android.com/training/dependency-injection/hilt-android) Dependency injection framework for managing the lifecycle and dependencies.
- [**Firebase**](https://firebase.google.com/): Integrates with Firebase services (Firestore, Storage, Crashlytics, Performance) for data flow and app monitoring purposes.
- [**Room Database**](https://developer.android.com/jetpack/androidx/releases/room): Utilize Room Persistence Library for local data storage and caching.
- [**DataStore**](https://developer.android.com/topic/libraries/architecture/datastore): Jetpack library for managing key-value and typed object storage, replacing SharedPreferences.
- [**Jsoup**](https://jsoup.org/) HTML parser library for extracting and manipulating data from web pages.
- [**Paging3**](https://developer.android.com/topic/libraries/architecture/paging/v3-overview): Library for handling large datasets by loading and displaying data incrementally.
- [**Navigation Component**](XXXX): Framework for managing in-app navigation and deep linking within the app.
- [**Material 3**](https://m3.material.io/): Implement intuitive and visually appealing UI with Material Design 3 guidelines.
- [**Glide**](https://github.com/bumptech/glide): Efficiently load and display images with Glide, a fast and flexible image loading library.
- [**Gson**](https://github.com/google/gson): Library for serializing and deserializing to and from JSON.
- [**Timber**](https://github.com/JakeWharton/timber): Logging library for extensible and structured logging throughout the app.
- [**Shimmer**](https://github.com/facebookarchive/shimmer-android): Enhance UI loading experience with shimmer effects to indicate content loading.
- [**Kotlin DSL**](https://developer.android.com/build/migrate-to-kotlin-dsl): Utilize Kotlin DSL for configuring build scripts and project setup, enhancing build script readability and maintainability.## Feedback
We value your feedback! If you have any suggestions, feature requests, or bug reports, please don't hesitate to [open an issue](https://github.com/skaradimitriou/elmepa-uni-app/issues) on GitHub.