protected override void ConfigureModuleCatalog()

in src/Covi/App.xaml.cs [138:172]


        protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
        {
            // Application base services registration
            moduleCatalog.AddModule<Services.Serialization.SerializationModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<SecurityModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Services.Dispatcher.DispatcherModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Services.Storage.StorageModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Services.Notification.NotificationModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Services.ApplicationMetadata.MetadataModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Services.Platform.PlatformModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Services.ErrorHandlers.ErrorHandlerModule>(InitializationMode.WhenAvailable);

            // Application features registrations
            moduleCatalog.AddModule<Features.BluetoothTracing.TracingEngineModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Features.Account.AccountModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Features.CreateProfile.CreateProfileModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Features.Main.MainModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Features.MedicalCodeSharing.MedicalCodeSharingModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Features.OnBoarding.OnBoardingModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Features.UserProfile.UserProfileModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Features.Recommendations.RecommendationsModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Features.UserLogIn.LogInModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Features.ApplyCode.ApplyCodeModule>(InitializationMode.WhenAvailable);

            moduleCatalog.AddModule<Features.Medical.MedicalModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Features.MedicalLogin.MedicalLoginModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<Features.MedicalChangeStatus.MedicalChangeStatusModule>(InitializationMode.WhenAvailable);

            moduleCatalog.AddModule<Features.PushNotifications.PushNotificationsModule>(InitializationMode.WhenAvailable);
            moduleCatalog.AddModule<AppSettingsModule>(InitializationMode.WhenAvailable);

            // Initialize platform specific modules
            var moduleCatalogInitializer = Container.Resolve<IModuleCatalogInitializer>();
            moduleCatalogInitializer.ConfigureModuleCatalog(moduleCatalog);
        }