Tarotify — это астрологическое приложение для чтения карт Таро и предсказаний. Пользователи могут получать расклады по разным категориям, просматривать историю вытянутых карт и получать прогнозы судьбы через Gemini API.
Backlog:
- чтение карт Таро;
- расклады карт Таро по разным категориям;
- сохранение истории вытянутых карт Таро;
- предсказание судьбы через Gemini API;
- сохранение отчета в виде документа PDF;
- смена цветовой темы.
Таблица types содержит два столбца:
id: идентификатор (целочисленный, автонумерация);name: название типа (обязательное текстовое поле).
Типы карт Таро: Старший Аркан, Младший Аркан.
Таблица suits содержит два столбца:
id: идентификатор (целочисленный, автонумерация);name: название масти (обязательное текстовое поле).
Масти карт Таро: Жезлы, Кубки, Мечи, Пентакли.
Таблица tarots содержит девять столбцов:
id: идентификатор карты (целочисленный, автонумерация);idType: внешний ключ, ссылающийся на таблицу types;idSuit: внешний ключ, ссылающийся на таблицу suits;name: название карты (обязательное текстовое поле);value: значение карты (целочисленное, обязательное);url: ссылка на изображение карты (обязательное текстовое поле);meanOne: прямой смысл карты;meanTwo: переносный смысл карты;description: интерпретация карты.
Таблица love_history содержит пять столбцов:
id: идентификатор записи (целочисленный, автонумерация);idTarot: внешний ключ, ссылающийся на таблицу tarots;meanOne: прямой смысл карты в контексте любви;meanTwo: переносный смысл карты в контексте любви;description: интерпретация карты в контексте любви.
Таблица career_history содержит пять столбцов:
id: идентификатор записи (целочисленный, автонумерация);idTarot: внешний ключ, ссылающийся на таблицу tarots;meanOne: прямой смысл карты в контексте карьеры;meanTwo: переносный смысл карты в контексте карьеры;description: интерпретация карты в контексте карьеры.
Таблица finance_history содержит пять столбцов:
id: идентификатор записи (целочисленный, автонумерация);idTarot: внешний ключ, ссылающийся на таблицу tarots;meanOne: прямой смысл карты в контексте финансов;meanTwo: переносный смысл карты в контексте финансов;description: интерпретация карты в контексте финансов.
Навигация внутри приложения Tarotify выглядит следующим образом:
- Intro Page — стартовая страница, откуда пользователь может перейти на другие разделы;
- Tarots Page — основная страница для работы с картами Таро, с возможностью перехода на страницы с различными темами предсказаний;
- Love Page, Career Page, Finance Page, и Fate Page — страницы, посвященные предсказаниям в различных областях жизни, таких как любовь, карьера, финансы и судьба;
- Settings Page — страница настроек, где пользователь может изменить параметры приложения.
Архитектура приложения состоит из трёх основных компонентов:
- UI — этот слой отвечает за отображение информации пользователю, используя Flutter для создания интерфейса;
- Logic — этот слой описывает логику работы приложения через Cubit по управлению состоянием;
- Networking — этот слой включает в себя работу с внешними API, такими как Gemini для предсказаний, и Drift для работы с базой данных.
Весь процесс обеспечивает эффективное взаимодействие между интерфейсом, логикой и сетевыми сервисами.
Стек приложения включает следующие компоненты:
- Gemini API: Используется для прогнозирования судьбы по дате рождения;
- Local Storage (Drift/SharedPreferences): Для хранения данных локально, таких как пользовательские настройки и истории вытянутых карт Таро по разным категориям;
- State Managment (Cubit): Управляет состоянием приложения и взаимодействует с UI, обеспечивая обновления и синхронизацию данных на экранах;
- Navigation (Go Router): Обеспечивает гибкую и удобную навигацию между экранами приложения, позволяя легко переходить между различными разделами;
- Native API (permission_handler): Используется для получения разрешений на доступ к функциям устройства.
При первом запуске приложения открывается заставка приложения. При последующих запусках приложения заставка больше не появляется.
Пользователь может выбрать приложение в светлой или темной теме. Последняя установленная пользователем тема приложения сохраняется при последующих запусках.
На странице Карты Таро пользователь может просматривать карты. На прямой стороне карты представлены изображение карты и название. На обратной стороне карты представлена полная информация, включая название карты, ее тип, масть (для младших арканов), номер карты в колоде, прямой смысл, переносный смысл и интерпретация карты.
На странице Любовь представлен расклад карт Таро в контексте любви. При вытягивании карты Таро пользователь может узнать, какое значение несет в себе вытянутая карта в контексте любви. (открытые карты - карты, которые пользователь еще не вытягивал; закрытые карты - карты, которые пользователь уже вытягивал)
На странице Карьера представлен расклад карт Таро в контексте карьеры. При вытягивании карты Таро пользователь может узнать, какое значение несет в себе вытянутая карта в контексте карьеры.
На странице Деньги представлен расклад карт Таро в контексте финансов. При вытягивании карты Таро пользователь может узнать, какое значение несет в себе вытянутая карта в контексте финансов.
На странице Судьба пользователь может узнать предсказание судьбы на основе даты рождения через нейросеть Gemini. Также есть возможность сохранить результат предсказания в виде отчетного документа в формате PDF.
На странице Настройки пользователь может изменить цветовую тему приложения.
Когда приложение находится в горизонтальной ориентации, то список карт Таро преобразуется в сетку по две/три колонки. (в случае ширины экрана больше, чем 600 пикселей)




































