{"id":16849560,"url":"https://github.com/boswelja/nasdroid","last_synced_at":"2025-04-09T14:07:53.847Z","repository":{"id":153440152,"uuid":"628928447","full_name":"boswelja/NASdroid","owner":"boswelja","description":"NASdroid is an unofficial Android client for TrueNAS server management","archived":false,"fork":false,"pushed_at":"2025-03-30T06:44:50.000Z","size":2053,"stargazers_count":70,"open_issues_count":15,"forks_count":7,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-02T12:11:20.576Z","etag":null,"topics":["android","compose","kotlin","material3","truenas","unofficial-client"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boswelja.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-17T09:15:05.000Z","updated_at":"2025-03-28T11:11:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"edd80ee1-b3ba-488a-a9a3-6fefa804bf9c","html_url":"https://github.com/boswelja/NASdroid","commit_stats":{"total_commits":436,"total_committers":4,"mean_commits":109.0,"dds":0.2844036697247706,"last_synced_commit":"3d5156710dd14ac64ba6cebed5877d90865bc0b7"},"previous_names":["boswelja/truemanager"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boswelja%2FNASdroid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boswelja%2FNASdroid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boswelja%2FNASdroid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boswelja%2FNASdroid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boswelja","download_url":"https://codeload.github.com/boswelja/NASdroid/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248054207,"owners_count":21039952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","compose","kotlin","material3","truenas","unofficial-client"],"created_at":"2024-10-13T13:16:22.084Z","updated_at":"2025-04-09T14:07:53.816Z","avatar_url":"https://github.com/boswelja.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NASdroid\n\nNASdroid is an unofficial Android client for [TrueNAS](https://www.truenas.com/) server management.\n\n## Releases\n\nCheck out [our releases page](https://github.com/boswelja/NASdroid/releases) for the latest builds!\n\nYou can also get nightly builds from [our CI runs](https://github.com/boswelja/NASdroid/actions/workflows/build-nightly.yml).\n\n## Screenshots\n\nScreenshots coming soon.\n\n## State of Development\n\nFeatures correspond to the menu items you see in the TrueNAS SCALE web interface.\n\n| Feature         | Status          |\n|-----------------|-----------------|\n| Dashboard       | Available       |\n| Storage         | In progress     |\n| Apps            | In progress     |\n| Reporting       | In progress     |\n| Datasets        | Not yet started |\n| Shares          | Not yet started |\n| Data Protection | Not yet started |\n| Network         | Not yet started |\n| Credentials     | Not yet started |\n| Virtualization  | Not yet started |\n| System Settings | Not yet started |\n\n## Libraries\n\n- Networking: [Ktor Client](https://ktor.io/)\n- User Interface: [Jetpack Compose](https://developer.android.com/jetpack/compose)\n- Dependency Injection: [Koin](https://insert-koin.io/)\n\nDependency versions (and artifact coordinates) are strictly managed via [Version Catalogs](https://docs.gradle.org/current/userguide/platforms.html), with the one exception of the Android settings plugin located in [settings.gradle.kts](./settings.gradle.kts).\nTake a look at our [libs.versions.toml](./gradle/libs.versions.toml) to see exact versions and a full list of libraries used.\n\n## Architecture\n\nAt a high level the application is split into 3 levels, detailed below.\n\n### [Core](./core/)\n\nCore is a collection of modules that serve as \"foundational\" components. Most, if not all of these are planned to be moved to separate libraries in the near future.\n\n### [Features](./features/)\n\nThe \"meat\" of NASdroid lives here. This is a collection of modules that build every feature within the app, which are further separated into a maximum of 3 modules per feature.\n\n#### Data\n\nIf a feature requires its own data source (local repositories, APIs not found in the TrueNAS API, etc), its abstraction and implementation will be here. This is the only optional module in the set of modules for any given feature.\n\n#### Logic\n\nNASdroid adopts the \"use case\" pattern, where business logic (Create a pool, delete an application, etc) are all extracted and broken down into single-responsibility classes.\n\n#### UI\n\nAll UI for any particular feature lives here. This includes screens, navigation graphs, ViewModels, etc.\n\n### [App](./app/)\n\nThis is the application module. It's what depends on all the features before it, and puts it all together into a usable app for your phone.\n\n## Other Stuff\n\n### What\n\nTrueNAS is an open-source NAS operating system. NASdroid is a native Android app that will (eventually) give you the same level of control over your TrueNAS install as the website.\n\n### Why\n\nHave you ever tried to use the TrueNAS website (or any reasonably complex management interface) on your phone? It's not much fun, so let's set out to fix that.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboswelja%2Fnasdroid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboswelja%2Fnasdroid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboswelja%2Fnasdroid/lists"}