Skip to content

Project Structure

Janishar Ali edited this page Jan 23, 2024 · 1 revision
.
├── app
│ ├── build.gradle.kts
│ ├── google-services.json
│ ├── libs
│ ├── proguard-rules.pro
│ └── src
│     ├── androidTest
│     │ └── kotlin
│     │     └── com
│     │         └── whereismymotivation
│     │             └── ExampleInstrumentedTest.kt
│     ├── main
│     │ ├── AndroidManifest.xml
│     │ ├── kotlin
│     │ │ └── com
│     │ │     └── whereismymotivation
│     │ │         ├── WimmApplication.kt
│     │ │         ├── analytics
│     │ │         │ ├── AnalyticsEvent.kt
│     │ │         │ ├── AnalyticsEventParam.kt
│     │ │         │ ├── FirebaseTrackingClient.kt
│     │ │         │ ├── Tracker.kt
│     │ │         │ └── TrackingClient.kt
│     │ │         ├── data
│     │ │         │ ├── local
│     │ │         │ │ ├── db
│     │ │         │ │ │ ├── Converter.kt
│     │ │         │ │ │ ├── DatabaseService.kt
│     │ │         │ │ │ ├── dao
│     │ │         │ │ │ │ ├── JournalDao.kt
│     │ │         │ │ │ │ └── MoodDao.kt
│     │ │         │ │ │ ├── entity
│     │ │         │ │ │ │ ├── Journal.kt
│     │ │         │ │ │ │ └── Mood.kt
│     │ │         │ │ │ └── migrations.kt
│     │ │         │ │ ├── file
│     │ │         │ │ │ └── LocalFiles.kt
│     │ │         │ │ └── prefs
│     │ │         │ │     ├── AppMetricPreferences.kt
│     │ │         │ │     ├── ContentPreferences.kt
│     │ │         │ │     └── UserPreferences.kt
│     │ │         │ ├── model
│     │ │         │ │ ├── Auth.kt
│     │ │         │ │ ├── Content.kt
│     │ │         │ │ ├── DeepLinkData.kt
│     │ │         │ │ ├── Mentor.kt
│     │ │         │ │ ├── MetaContent.kt
│     │ │         │ │ ├── Role.kt
│     │ │         │ │ ├── SubscriptionInfo.kt
│     │ │         │ │ ├── Token.kt
│     │ │         │ │ ├── Topic.kt
│     │ │         │ │ ├── UniversalSearchResult.kt
│     │ │         │ │ └── User.kt
│     │ │         │ ├── remote
│     │ │         │ │ ├── Networking.kt
│     │ │         │ │ ├── RequestHeaders.kt
│     │ │         │ │ ├── apis
│     │ │         │ │ │ ├── auth
│     │ │         │ │ │ │ ├── AuthApi.kt
│     │ │         │ │ │ │ ├── Endpoints.kt
│     │ │         │ │ │ │ ├── RefreshTokenApi.kt
│     │ │         │ │ │ │ └── request
│     │ │         │ │ │ │     ├── AuthRequest.kt
│     │ │         │ │ │ │     └── RefreshTokenRequest.kt
│     │ │         │ │ │ ├── content
│     │ │         │ │ │ │ ├── ContentApi.kt
│     │ │         │ │ │ │ ├── Endpoints.kt
│     │ │         │ │ │ │ └── request
│     │ │         │ │ │ │     ├── ContentBookmarkRequest.kt
│     │ │         │ │ │ │     └── ContentSubmissionRequest.kt
│     │ │         │ │ │ ├── mentor
│     │ │         │ │ │ │ ├── Endpoints.kt
│     │ │         │ │ │ │ └── MentorApi.kt
│     │ │         │ │ │ ├── subscription
│     │ │         │ │ │ │ ├── Endpoints.kt
│     │ │         │ │ │ │ ├── SubscriptionApi.kt
│     │ │         │ │ │ │ └── request
│     │ │         │ │ │ │     └── SubscriptionModifyRequest.kt
│     │ │         │ │ │ ├── topic
│     │ │         │ │ │ │ ├── Endpoints.kt
│     │ │         │ │ │ │ └── TopicApi.kt
│     │ │         │ │ │ └── user
│     │ │         │ │ │     ├── Endpoints.kt
│     │ │         │ │ │     ├── UserApi.kt
│     │ │         │ │ │     └── request
│     │ │         │ │ │         ├── FirebaseTokenRequest.kt
│     │ │         │ │ │         ├── JournalsRequest.kt
│     │ │         │ │ │         ├── MessageRequest.kt
│     │ │         │ │ │         └── MoodsRequest.kt
│     │ │         │ │ ├── interceptors
│     │ │         │ │ │ ├── ForcedCacheInterceptor.kt
│     │ │         │ │ │ ├── ImageHeaderInterceptor.kt
│     │ │         │ │ │ ├── LocalHostInterceptor.kt
│     │ │         │ │ │ ├── NetworkInterceptor.kt
│     │ │         │ │ │ ├── RefreshTokenInterceptor.kt
│     │ │         │ │ │ └── RequestHeaderInterceptor.kt
│     │ │         │ │ ├── response
│     │ │         │ │ │ ├── ApiDataResponse.kt
│     │ │         │ │ │ ├── ApiErrorResponse.kt
│     │ │         │ │ │ └── ApiGeneralResponse.kt
│     │ │         │ │ └── utils
│     │ │         │ │     ├── ForcedLogout.kt
│     │ │         │ │     ├── NetworkHelper.kt
│     │ │         │ │     ├── NoConnectivityException.kt
│     │ │         │ │     └── extentions.kt
│     │ │         │ └── repository
│     │ │         │     ├── AppMetricRepository.kt
│     │ │         │     ├── AuthRepository.kt
│     │ │         │     ├── ContentRepository.kt
│     │ │         │     ├── JournalRepository.kt
│     │ │         │     ├── MentorRepository.kt
│     │ │         │     ├── MoodRepository.kt
│     │ │         │     ├── RemoteConfigRepository.kt
│     │ │         │     ├── SearchRepository.kt
│     │ │         │     ├── SubscriptionRepository.kt
│     │ │         │     ├── TopicRepository.kt
│     │ │         │     └── UserRepository.kt
│     │ │         ├── di
│     │ │         │ ├── module
│     │ │         │ │ ├── ApplicationModule.kt
│     │ │         │ │ ├── LocalDataModule.kt
│     │ │         │ │ ├── NetworkModule.kt
│     │ │         │ │ └── ServiceModule.kt
│     │ │         │ └── qualifier
│     │ │         │     ├── AccessTokenInfo.kt
│     │ │         │     ├── ApiKeyInfo.kt
│     │ │         │     ├── AppVersionCodeInfo.kt
│     │ │         │     ├── BaseUrl.kt
│     │ │         │     ├── DatabaseInfo.kt
│     │ │         │     ├── DeviceIdInfo.kt
│     │ │         │     ├── PrefsInfo.kt
│     │ │         │     ├── RefreshTokenInfo.kt
│     │ │         │     └── ScopeIO.kt
│     │ │         ├── fcm
│     │ │         │ ├── NotificationHelper.kt
│     │ │         │ ├── NotificationService.kt
│     │ │         │ ├── core
│     │ │         │ │ ├── Defaults.kt
│     │ │         │ │ ├── Notification.kt
│     │ │         │ │ ├── Payload.kt
│     │ │         │ │ ├── PendingIntents.kt
│     │ │         │ │ └── Provider.kt
│     │ │         │ └── notifications
│     │ │         │     ├── ContentNotification.kt
│     │ │         │     ├── ImageNotification.kt
│     │ │         │     ├── MoodNotification.kt
│     │ │         │     └── TextNotification.kt
│     │ │         ├── init
│     │ │         │ ├── CoilInit.kt
│     │ │         │ ├── FirebaseInit.kt
│     │ │         │ ├── Initializer.kt
│     │ │         │ ├── MetricInit.kt
│     │ │         │ └── WorkInit.kt
│     │ │         ├── ui
│     │ │         │ ├── MainActivity.kt
│     │ │         │ ├── MainViewModel.kt
│     │ │         │ ├── WimmApp.kt
│     │ │         │ ├── base
│     │ │         │ │ └── BaseViewModel.kt
│     │ │         │ ├── common
│     │ │         │ │ ├── appbar
│     │ │         │ │ │ ├── LogoAppBar.kt
│     │ │         │ │ │ ├── LogoUpAppBar.kt
│     │ │         │ │ │ └── NavAppBar.kt
│     │ │         │ │ ├── browser
│     │ │         │ │ │ ├── ChromeTabHelper.kt
│     │ │         │ │ │ └── ContentBrowser.kt
│     │ │         │ │ ├── image
│     │ │         │ │ │ ├── Lottie.kt
│     │ │         │ │ │ ├── NetworkImage.kt
│     │ │         │ │ │ └── OutlinedAvatar.kt
│     │ │         │ │ ├── list
│     │ │         │ │ │ └── InfiniteList.kt
│     │ │         │ │ ├── preview
│     │ │         │ │ │ └── Provider.kt
│     │ │         │ │ ├── progress
│     │ │         │ │ │ ├── Loader.kt
│     │ │         │ │ │ └── Loading.kt
│     │ │         │ │ ├── share
│     │ │         │ │ │ ├── ContentShareHandler.kt
│     │ │         │ │ │ ├── Payload.kt
│     │ │         │ │ │ └── Sharer.kt
│     │ │         │ │ ├── snackbar
│     │ │         │ │ │ ├── AppSnackbar.kt
│     │ │         │ │ │ ├── Message.kt
│     │ │         │ │ │ ├── MessageHandler.kt
│     │ │         │ │ │ └── Messenger.kt
│     │ │         │ │ ├── text
│     │ │         │ │ │ └── AutoSizeText.kt
│     │ │         │ │ └── utils
│     │ │         │ │     ├── Lerp.kt
│     │ │         │ │     └── Scrim.kt
│     │ │         │ ├── content
│     │ │         │ │ ├── ContentRedirection.kt
│     │ │         │ │ ├── ContentViewModel.kt
│     │ │         │ │ ├── YouTubeContent.kt
│     │ │         │ │ ├── YouTubePlayer.kt
│     │ │         │ │ └── YoutubeViewModel.kt
│     │ │         │ ├── feed
│     │ │         │ │ ├── Feed.kt
│     │ │         │ │ ├── FeedContentItem.kt
│     │ │         │ │ ├── FeedQuote.kt
│     │ │         │ │ └── FeedViewModel.kt
│     │ │         │ ├── home
│     │ │         │ │ └── HomeBottomBar.kt
│     │ │         │ ├── info
│     │ │         │ │ ├── InfoViewModel.kt
│     │ │         │ │ └── ServerUnreachable.kt
│     │ │         │ ├── journal
│     │ │         │ │ ├── Journals.kt
│     │ │         │ │ └── JournalsViewModel.kt
│     │ │         │ ├── login
│     │ │         │ │ ├── Login.kt
│     │ │         │ │ └── LoginViewModel.kt
│     │ │         │ ├── mentor
│     │ │         │ │ ├── Mentor.kt
│     │ │         │ │ └── MentorViewModel.kt
│     │ │         │ ├── mentors
│     │ │         │ │ ├── ExploreMentors.kt
│     │ │         │ │ ├── ExploreMentorsViewModel.kt
│     │ │         │ │ ├── Mentors.kt
│     │ │         │ │ └── MentorsViewModel.kt
│     │ │         │ ├── moods
│     │ │         │ │ ├── MoodGraphData.kt
│     │ │         │ │ ├── Moods.kt
│     │ │         │ │ └── MoodsViewModel.kt
│     │ │         │ ├── mybox
│     │ │         │ │ ├── MyBox.kt
│     │ │         │ │ └── MyBoxViewModel.kt
│     │ │         │ ├── navigation
│     │ │         │ │ ├── Destination.kt
│     │ │         │ │ ├── NavGraph.kt
│     │ │         │ │ ├── NavHandler.kt
│     │ │         │ │ └── Navigator.kt
│     │ │         │ ├── onboarding
│     │ │         │ │ ├── Onboarding.kt
│     │ │         │ │ └── OnboardingViewModel.kt
│     │ │         │ ├── profile
│     │ │         │ │ ├── Profile.kt
│     │ │         │ │ ├── ProfileTab.kt
│     │ │         │ │ └── ProfileViewModel.kt
│     │ │         │ ├── search
│     │ │         │ │ ├── Search.kt
│     │ │         │ │ ├── SearchMode.kt
│     │ │         │ │ ├── SearchViewModel.kt
│     │ │         │ │ ├── Suggestion.kt
│     │ │         │ │ └── SuggestionViewModel.kt
│     │ │         │ ├── splash
│     │ │         │ │ ├── Splash.kt
│     │ │         │ │ └── SplashViewModel.kt
│     │ │         │ ├── theme
│     │ │         │ │ ├── Color.kt
│     │ │         │ │ ├── Theme.kt
│     │ │         │ │ └── Typography.kt
│     │ │         │ └── topic
│     │ │         │     ├── Topic.kt
│     │ │         │     └── TopicViewModel.kt
│     │ │         ├── utils
│     │ │         │ ├── common
│     │ │         │ │ ├── CalendarUtils.kt
│     │ │         │ │ ├── Constants.kt
│     │ │         │ │ ├── ContentUtils.kt
│     │ │         │ │ ├── Extensions.kt
│     │ │         │ │ ├── FileUtils.kt
│     │ │         │ │ ├── Formatter.kt
│     │ │         │ │ ├── PermissionUtils.kt
│     │ │         │ │ ├── ResultCallback.kt
│     │ │         │ │ ├── ResultFetcher.kt
│     │ │         │ │ ├── SystemUtils.kt
│     │ │         │ │ ├── TimeUtils.kt
│     │ │         │ │ └── UrlUtils.kt
│     │ │         │ ├── config
│     │ │         │ │ └── RemoteKey.kt
│     │ │         │ ├── coroutine
│     │ │         │ │ └── Dispatcher.kt
│     │ │         │ ├── display
│     │ │         │ │ ├── FontUtils.kt
│     │ │         │ │ └── Toaster.kt
│     │ │         │ ├── log
│     │ │         │ │ └── Logger.kt
│     │ │         │ └── share
│     │ │         │     └── ShareUtils.kt
│     │ │         └── work
│     │ │             ├── AppAlarmManager.kt
│     │ │             ├── AppWorkManager.kt
│     │ │             ├── receiver
│     │ │             │ └── DailyMoodAlarmReceiver.kt
│     │ │             └── worker
│     │ │                 ├── DailyMoodAlarmWorker.kt
│     │ │                 ├── MoodAndJournalSyncWorker.kt
│     │ │                 └── NotificationWorker.kt
│     │ └── res
│     │     ├── drawable
│     │     │ ├── ic_angry.xml
│     │     │ ├── ic_box.xml
│     │     │ ├── ic_box_unselected.xml
│     │     │ ├── ic_browse.xml
│     │     │ ├── ic_browse_unselected.xml
│     │     │ ├── ic_happy.xml
│     │     │ ├── ic_me_selected.xml
│     │     │ ├── ic_me_unselected.xml
│     │     │ ├── ic_mentor.xml
│     │     │ ├── ic_mentor_unselected.xml
│     │     │ ├── ic_normal.xml
│     │     │ ├── ic_quotation_mark.xml
│     │     │ ├── ic_sad.xml
│     │     │ ├── ic_save_motivation.xml
│     │     │ ├── ic_search.xml
│     │     │ ├── ic_search_unselected.xml
│     │     │ ├── ic_topic.xml
│     │     │ ├── ic_touch_app.xml
│     │     │ ├── ic_very_happy.xml
│     │     │ ├── ic_whatsapp.xml
│     │     │ ├── ic_wimm_notification.png
│     │     │ └── wimm_logo.png
│     │     ├── drawable-nodpi
│     │     │ └── image_placeholder.webp
│     │     ├── font
│     │     │ ├── amaranth_regular.ttf
│     │     │ ├── berkshire_swash_regular.ttf
│     │     │ ├── oleo_script_regular.ttf
│     │     │ ├── oswald_regular.ttf
│     │     │ ├── paytone_one_regular.ttf
│     │     │ ├── rubik_bold.ttf
│     │     │ ├── rubik_medium.ttf
│     │     │ ├── rubik_regular.ttf
│     │     │ └── sail_regular.ttf
│     │     ├── mipmap-hdpi
│     │     │ └── ic_launcher.png
│     │     ├── mipmap-mdpi
│     │     │ └── ic_launcher.png
│     │     ├── mipmap-xhdpi
│     │     │ └── ic_launcher.png
│     │     ├── mipmap-xxhdpi
│     │     │ └── ic_launcher.png
│     │     ├── mipmap-xxxhdpi
│     │     │ └── ic_launcher.png
│     │     ├── raw
│     │     │ ├── default_mentors_suggestion.json
│     │     │ ├── default_topics_suggestion.json
│     │     │ ├── loading.json
│     │     │ └── server_unreachable.json
│     │     ├── values
│     │     │ ├── colors.xml
│     │     │ ├── strings.xml
│     │     │ └── themes.xml
│     │     └── xml
│     │         ├── backup_rules.xml
│     │         ├── data_extraction_rules.xml
│     │         ├── file_paths.xml
│     │         └── network_security_config.xml
│     └── test
│         └── java
│             └── com
│                 └── whereismymotivation
│                     └── ExampleUnitTest.kt
├── build.gradle.kts
├── gradle
│ └── wrapper
│     ├── gradle-wrapper.jar
│     └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── local.properties
└── settings.gradle.kts
Clone this wiki locally