Skip to content

andrejoshua/filament-droid

Repository files navigation

FilamentDroid application

FilamentDroid is an Android application with Clean Architecture approach (or close to it). This application is should be in line with current technology standards.

Features (Pages)

As the time of writing, the application has 2 pages, first page, which should contain 3d model selection. The first page should have OK button, which directs the app to second page, consisted of tab bar of single 3d model section and profile section

Architecture

This architecture mostly follows the mix of this and this. See those links for detailed explanation about Clean Architecture.

There are few additional points i will explain given the picture:

  • Installing Java 17 is mandatory due to this project's dependencies
  • The architecture used is based on task, which requires additional navigation and API call
  • The API call is auto-generated using Retrofit, and GSON as an adapter to convert API response into Kotlin Class
  • The Response model class should reflect what API provides
  • The Domain model class should reflect what is shown in UI
  • The data is carried through Coroutines, which will be converted to LiveData in ViewModel
  • LiveData will later be converted to State, which follows Jetpack Compose UI mechanism

Project Libraries

Issues found:

  • APK keeps crashing on signed builds, due to proguard issue on Filament-GLTFIO library
  • As for 20-09-2023, there is no proguard found that address the issue above, as the proguard should keep all gltfio-related files (classes, jni libs)

About

Android app to show 3D models with filament library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages