Tarot card reading app built at The Recurse Center using Android Jetpack Compose as a learning project.
The app allows users to draw tarot cards and receive readings with upright and reversed meanings. Users can choose from different card spreads (1 card or 3-cards), save their readings to a history, and review past readings.
Clone the repo:
git clone https://github.com/nadia-nh/rc-android-tarot.git
cd rc-android-tarotThe app follows the MVVM architecture pattern with Jetpack Compose for UI and Room for data persistence.
-
TarotMain
Main composable that manages screen navigation (Menu, Result, History) and handles the back button. -
TarotViewModel
Manages UI state including the current spread, drawn cards, and reading history. Coordinates card drawing and database operations. -
TarotDeck
Contains the complete 78-card tarot deck with meanings for both upright and reversed positions. -
Screens
MenuScreen– Select card spread and start a readingResultsScreen– Display drawn cards with meanings, tap to revealHistoryScreen– View past readings saved to the database
-
Database (Room)
TarotDatabase– SQLite database for storing readingsTarotDao– Data access object with queries for saving and retrieving readingsTarotRepository– Single source of truth for data operations
-
Theme
Material 3 theming with custom colors, typography, spacing, and shapes defined in theui/themepackage.
-
Jetpack Compose Documentation
Official documentation for the declarative UI framework. -
Room Database Documentation
Official documentation for the SQLite database abstraction. -
Material 3 Design
Design system used for the app's UI components.
- Card images
Creator: Dettamada
Source: Tarot Playing Cards
License: CC0
Made with <3 at The Recurse Center.
