> For the complete documentation index, see [llms.txt](https://gramhal.gitbook.io/matar/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gramhal.gitbook.io/matar/developer-reference/frontend-code/code-directories/di-directory.md).

# di Directory

{% hint style="info" %}
di directory represents modules
{% endhint %}

```shell
--di(directory)
     --App Module.kt
     --FirebaseModule.kt
     --NetworkModule.kt
     --RepositoryModule.kt
```

### di/AppModule.kt

```kotlin
package com.matar.app.di

import android.content.Context
import com.matar.app.ui.features.home.HomeViewModel
import com.matar.app.ui.util.PreferenceManager
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton

@InstallIn(SingletonComponent::class)
@Module
object AppModule {

    @Singleton
    @Provides
    fun providePrefs(@ApplicationContext context: Context) = PreferenceManager(context)

}
```

***

### di/FirebaseModule.kt

```kotlin
```
