Add contribution guides

This commit is contained in:
Damontecres 2025-10-15 14:15:14 -04:00
parent d4b3c554f8
commit d322770a22
No known key found for this signature in database
2 changed files with 50 additions and 0 deletions

24
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,24 @@
# Contributing to Dolphin
We appreciate your interest in contributing to Dolphin!
## Code of Conduct
We follow Jellyfin's example by adhering to their [Code of Conduct](https://jellyfin.org/docs/general/community-standards/#code-of-conduct).
## How to contribute
You can contribute in several ways:
* File bug reports
* Request new features
* Propose code changes via pull request
In all cases, be sure to fully explain the issue.
### Code change proposals
You acknowledge that, if applicable, submitting and subsequent acceptance of any pull request you, the code contributor of the pull request, agree and acknowledge that the code will be licensed under [GPLv2](LICENSE).
Please be thoughtful when contributing code and consider the long term maintenance/support aspect for any new features.
See the [developer's guide](./DEVELOPMENT.md) for more information.

26
DEVELOPMENT.md Normal file
View file

@ -0,0 +1,26 @@
# Dolphin developer's guide
See also the [Contributing](CONTRIBUTING.md) guide for general information on contributing to the project.
## Overview
This project is an Android TV client for Jellyfin. It is written in Kotlin and uses the official [Jellyfin Kotlin SDK](https://github.com/jellyfin/jellyfin-sdk-kotlin) to interact with the server.
The app is a single Activity (`MainActivity`) with MVVM architecture.
The app uses:
* [Compose](https://developer.android.com/jetpack/compose) for the UI
* [Navigation 3](https://developer.android.com/guide/navigation/navigation-3) for navigating app screen
* [Room](https://developer.android.com/training/data-storage/room) & [DataStore](https://developer.android.com/topic/libraries/architecture/datastore) for local data storage
* [Hilt](https://developer.android.com/training/dependency-injection/hilt-android) for dependency injection
* [Media3/ExoPlayer](https://developer.android.com/media/media3/exoplayer) for media playback
* [Coil](https://coil-kt.github.io/coil/) for image loading
* [OkHttp](https://square.github.io/okhttp/) for HTTP requests
## Getting started
We follow GitHub's fork & pull request model for contributions.
After forking and cloning your fork, you can import the project into Android Studio.
You need a compatible Android Studio version for the configured AGP. This is generally `Narwhal 3 Feature Drop | 2025.1.3` or newer. See https://developer.android.com/build/releases/gradle-plugin and [`libs.versions.toml](./gradle/libs.versions.toml).