From d322770a22d124c07b0d6302c058f3db44595745 Mon Sep 17 00:00:00 2001 From: Damontecres Date: Wed, 15 Oct 2025 14:15:14 -0400 Subject: [PATCH] Add contribution guides --- CONTRIBUTING.md | 24 ++++++++++++++++++++++++ DEVELOPMENT.md | 26 ++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100644 DEVELOPMENT.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..7dd39496 --- /dev/null +++ b/CONTRIBUTING.md @@ -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. diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md new file mode 100644 index 00000000..55e82bbc --- /dev/null +++ b/DEVELOPMENT.md @@ -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).