Skip to content

elinnlle/Planeuro

Repository files navigation

Planeuro 🧠

Planeuro — iOS-приложение на UIKit для планирования задач с интеграцией GPT, календарём, системой достижений и поддержкой уведомлений.

Проект разработан как курсовая работа 2 курса и ориентирован на построение архитектурно организованного iOS-приложения с интеграцией искусственного интеллекта и разделением ответственности между слоями системы.


Основные возможности

AI-помощник (GPT)

  • Добавление задач через чат.
  • Генерация структурированной задачи из свободного текста (название добавляемой задачи).
  • Выявление недостающих параметров (дата, длительность и т.д.).
  • Предложение разбиения сложной задачи на подзадачи.
  • Рекомендации по распределению задачи в расписании.

Управление задачами

  • Создание, редактирование и удаление задач.
  • Поддержка подзадач.
  • Настройка даты, времени и напоминаний.
  • Привязка к категории и локации.
  • Отображение списка задач.

Календарь и расписание

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

Уведомления

  • Локальные уведомления перед началом задачи.
  • Email-напоминания через BGTask.
  • Настройка времени напоминаний.

Геймификация и достижения

  • Система достижений.
  • Отслеживание активности пользователя.
  • Прогресс-индикаторы.
  • Отдельный экран достижений.

Авторизация

  • Регистрация и вход.
  • Хранение данных пользователя.
  • Использование Keychain для чувствительной информации.

Видеодемонстрация

0429.mp4

Архитектура

Проект построен с разделением на слои:

Features/
  AddTask/
  EditTask/
  Main/
  Schedule/
  Calendar/
  Achievements/
  Auth/

Core/
  Services/
  Data/
  Helpers/

Persistence/
  CoreData/

Networking/
Extensions/
Utilities/

Используемые принципы

  • Разделение View / Interactor / Presenter
  • Сервисный слой
  • Инкапсуляция работы с GPT в отдельном сервисе
  • Изоляция persistence-слоя
  • Работа с Background Tasks
  • Разделение бизнес-логики и UI

Бизнес-логика инкапсулирована в сервисах и не зависит напрямую от конкретной реализации хранения данных.


Интеграция GPT

В проекте реализован отдельный GPTService, который:

  • формирует системные промпты,
  • отправляет запрос в OpenAI API,
  • парсит JSON-ответ,
  • управляет сценариями уточнения данных,
  • генерирует варианты разбиения задач.

Интеграция используется для структурирования задач и помощи в планировании, а не просто как чат.


Persistence-слой

В проекте реализовано хранение данных через CoreData:

  • хранение задач и подзадач,
  • категории,
  • состояния выполнения,
  • история изменений.

Дополнительно:

  • хранение прогресса достижений в UserDefaults,
  • работа с Keychain для чувствительных данных.

Networking

В проекте реализован слой работы с сетью:

  • GPTService для взаимодействия с OpenAI API,
  • собственная модель обработки ошибок,
  • поддержка фоновых задач для email-напоминаний.

Технологический стек

  • Swift
  • UIKit
  • CoreData
  • OpenAI API
  • Background Tasks
  • Keychain
  • Архитектурный подход с разделением слоёв

Возможности развития

  • Добавление виджетов.
  • Расширение геймификации.
  • Добавление группового планирования.
  • Улучшение алгоритмов распределения нагрузки.
  • Добавление аналитики продуктивности.
  • Синхронизация между устройствами.

Автор

Проект разработан Матвеенко Эльвирой, студенткой 2 курса направления «Программная инженерия».

About

UIKit-приложение для планирования задач с интеграцией GPT, календарём, системой достижений и поддержкой уведомлений. Курсовой проект 2 курса.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages