Spellbindr is a modern Android application for Dungeons & Dragons 5th Edition, designed to assist both players and Dungeon Masters. It provides a clean, intuitive interface to browse D&D 5e SRD content, create and manage characters, and quickly look up spell information.
- 📖 Spellbook: A complete and searchable list of all spells from the D&D 5e System Reference Document (SRD). You can search, filter, and view detailed information for each spell.
- 🧙 Character Creator: A step-by-step wizard that guides you through the process of creating a D&D 5e character. This includes:
- Race and Subrace selection
- Class and Subclass selection
- Setting ability scores
- Choosing skills and proficiencies
- Selecting a background
- Managing equipment
- Adding spells
- 👥 Character Management: Keep track of all your characters in one place. (Functionality for viewing and managing created characters).
- 📱 Modern UI: Built entirely with Jetpack Compose for a modern, responsive, and slick user experience.
This project is built with a modern Android tech stack:
- Language: 100% Kotlin
- UI: Jetpack Compose for declarative UI development.
- Architecture: Follows modern Android architecture guidelines, utilizing ViewModels and a Repository pattern.
- Asynchronicity: Kotlin Coroutines for managing background threads.
- Dependency Injection: Hilt for managing dependencies.
- Navigation: Jetpack Navigation for handling in-app navigation.
- Data Persistence: Jetpack DataStore for storing simple key-value data.
- Serialization: Kotlinx Serialization for parsing JSON data from the SRD.
To build and run the app from the source code, follow these steps:
- Clone the repository:
git clone https://github.com/arhor/spellbindr.git
- Open the project in the latest stable version of Android Studio.
- Let Android Studio sync the project and download the required Gradle dependencies.
- Build and run the app on an emulator or a physical device.
Spellbindr uses game content from the Dungeons & Dragons 5th Edition System Reference Document 5.1 (SRD) provided by Wizards of the Coast. This content is available under the terms of the Open Gaming License v1.0a.
For more information, please see the Open Gaming License from Wizards of the Coast.
Contributions are welcome! If you have ideas for new features, bug fixes, or improvements, feel free to open an issue or submit a pull request.
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.