Skip to content

A portfolio app based on MVVM architecture, custom views and Firebase.

License

Notifications You must be signed in to change notification settings

Meglali20/Portfolio-Android-MVVM

Repository files navigation

Portfolio Android app

A portfolio app based on MVVM architecture, custom views and Firebase.

Features

  • Architecture: MVVM (Model-View-ViewModel)

  • Networking: Retrofit2, OkHttp3 & Moshi

  • Database: Room

  • Dependency Injection: Hilt

  • Image Loading: Glide

  • Jetpack Components: Lifecycle, ViewModel, DataBinding, DataStore

  • Firebase Integration: Utilizing Firebase as a REST API

  • LeakCanary: A memory leak detection library

  • Custom Views:

Multiple Language Support

The app supports multiple languages. To add data for each language, use the provided python code that would insert the data for each language and uploads the assets into Firebase (check the language_key.json.template file to see what you need to fill) each language must be in a json file in the lang directory, the admin directory would contain the serviceAccountKey for Firebase and a config.py containing DATABASE_URL and STORAGE_BUCKET

WavesTextView

reproduces the animation effect used on Midjourney's landing page.

TextShufflerView

Can be used in XML and a version for Jetpack Compose Inspired by TypeShuffleAnimation.

BottomNavigationBar

a custom bottom navigation bar Mixing TextShufflerView with some animated drawable effect

ImagePiecesView

Inspired by AnimatedImagePieces.

AsciiImage

Can be used in XML and a version for Jetpack Compose based on Shadertoy with some modifications.