/Monster-Compendium

DnD 5th edition monster compendium multiplatform app for Android, iOS and Desktop.

Primary LanguageKotlinGNU General Public License v3.0GPL-3.0

Monster Compendium - D&D 5th Edition Bestiary

CI/CD

Monsters Compendium is an free and open-source Kotlin Multiplatform application for Android, iOS, Mac, Windows and Linux, offering extensive information on monsters from the Dungeons & Dragons 5th edition role-playing game. The default content is derived from the SRD (System Reference Document), providing a solid foundation for users. Furthermore, the app supports the addition of new custom content, enhancing its versatility and adaptability for players and game masters alike.

Download

Android

Get it on Google Play

Desktop

You can download here the desktop version for Window, Mac or Linux.

Preview

Runnning

Desktop

Run the following command on the root project directory.

./gradlew app:jvmRun -DmainClass=MainKt --quiet

Mobile

You can run the app using Android Studio for Android and xCode for iOS.

Tech Stack

The following is an overview of the key technologies and libraries used in this Kotlin Multiplatform project, each with a brief description and a URL for further information:

  • Compose Multiplatform: Declarative framework for sharing UIs across multiple platforms. Based on Kotlin and Jetpack Compose.
  • Kotlin Coroutines: A coroutine is a concurrency design pattern that you can use on Android to simplify code that executes asynchronously.
  • Kotlin Flow: Stream of data that can be computed asynchronously. Built in top of the Kotlin Coroutines.
  • Koin: A pragmatic lightweight dependency injection framework for Kotlin & Kotlin Multiplatform.
  • SQLDelight: A multiplatform SQLite library that generates Kotlin typesafe APIs from SQL statements.
  • Ktor-client: A multiplatform asynchronous HTTP client for Kotlin, providing a clean and extensible API for making network requests.
  • Multiplatform Settings: A library that provides a simple and consistent API for persisting key-value data across iOS, Android, and JVM platforms.
  • Coil Compose: An image loading library for Android backed by Kotlin Coroutines and Jetpack Compose.

API

Currently, there is no dedicated backend for the app. The app retrieves the data from static JSON files stored here. The JSON were formatted from the API https://dnd5eapi.co.

Content License

The content in this app is licensed under the Open-Gaming License (OGL). The content and license can found at the D&D 5th Systems Reference Document (SRD). Dungeons & Dragons (D&D) is a trademark of Wizards of the Coast company.

Icons License

The icons used in this app have a free license. They are designed by macrovector from Freepik, Freepik from Flaticon and Material Design from Google.

License

DnD 5th edition monster compendium app
Copyright (C) 2024 Alexandre Gomes Pereira

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.