-
Notifications
You must be signed in to change notification settings - Fork 20
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
Modern Backend Development - WhereIsMyMotivation