Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/add offline database #86

Merged
merged 1 commit into from
Dec 16, 2024
Merged

Feature/add offline database #86

merged 1 commit into from
Dec 16, 2024

Conversation

dimensi
Copy link
Collaborator

@dimensi dimensi commented Dec 13, 2024

Оффлайн база данных аниме

Описание

Добавлена возможность работы с локальной базой данных аниме для улучшения производительности и возможности работы в оффлайн режиме.

Основные изменения:

  1. Добавлена схема базы данных для хранения информации об аниме:

    • Базовая информация (название, описание, рейтинг и т.д.)
    • Жанры
    • Студии
    • Эпизоды
    • Персонажи
    • Похожие аниме
  2. Реализован импорт базы данных:

    • Автоматическая загрузка при первом запуске
    • Периодическое обновление базы
    • Прогресс-бар для отображения статуса импорта
  3. Оптимизирована работа со списком аниме пользователя:

    • Переработана модель хранения статусов просмотра
    • Улучшена производительность при работе со списком
    • Добавлено кэширование для быстрого доступа
  4. Добавлен сервис для работы с базой данных (DbService):

    • Методы для получения информации об аниме
    • Фильтрация и сортировка
    • Кэширование запросов

Технические детали:

  • Использован SwiftData для хранения данных
  • Реализована потоковая обработка JSON для эффективной загрузки большого объема данных
  • Добавлены индексы для оптимизации поиска
  • Реализована асинхронная загрузка и обработка данных

Тестирование

  • Проверена корректность импорта данных
  • Протестирована работа в оффлайн режиме
  • Проверена производительность при работе с большим объемом данных

@dimensi dimensi force-pushed the feature/add-offline-database branch from 974221a to d2d2299 Compare December 16, 2024 19:35
… management

- Added a new `AnimeImporter` class for importing anime data from an external database.
- Introduced `DbService` for database interactions, including fetching anime and genres.
- Created models for user anime lists, including `UserAnimeListModel` and `UserAnimeListCache`.
- Refactored existing views to utilize the new data models and improve state management.
- Updated hooks in the Makefile for better integration with Xcode and linting processes.
@dimensi dimensi force-pushed the feature/add-offline-database branch from 403bb52 to 5c5e5e7 Compare December 16, 2024 19:57
@dimensi dimensi merged commit 0fea081 into main Dec 16, 2024
1 check passed
@dimensi dimensi deleted the feature/add-offline-database branch December 16, 2024 20:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant