GitLiveApp / firebase-kotlin-sdk

A Kotlin-first SDK for Firebase
https://gitliveapp.github.io/firebase-kotlin-sdk/
Apache License 2.0
1.11k stars 153 forks source link

Add documentation #527

Closed BasBuijsen closed 3 months ago

BasBuijsen commented 3 months ago

Right now there is no real documentation on which functionality is available for each different product. The only information about it is the percentage of coverage in the general readme. To find out what functionality is available you would have to dive into the library and find out what is implemented.

I would like to add a readme file to every product with a default format that contains information like what functionality is available. This can also contain information on changes that are needed in comparison to the native Android SDK (should be very little to none but this way we can document them). I think this will very much enhance the experience of adopting this library in a kmp project. These markdown files can be linked from the main readme so it is easily findable for new users.

In the future these markdown files can also be used to create a static documentation website with a tool like docusourus for example. In that case we can add versioned documentation that will allow users to see the exact functionality per version to avoid confusion when using older/newer versions.

I would love to hear other people's opinions about this before i create a pr for this.

nbransby commented 3 months ago

Would it not make more sense to add Kdocs in the code and use Dokka?

The documentation text can be copied from the Javadocs in the Android SDK source code and modified only where the API differs for the Kotlin SDK

BasBuijsen commented 3 months ago

Thats a great idea! I will look into implementing it soon.

BasBuijsen commented 3 months ago

@nbransby i am working on an implementation of the documentation with dokka. I can create the documentation and implementation of dokka but the deployment is out of my control. Can you provide some way to deploy this? And i assume i wont have access to the environment so can you also make sure it gets deployed? I will create a pr with my implementation soon.

BasBuijsen commented 3 months ago

https://github.com/GitLiveApp/firebase-kotlin-sdk/pull/537