AiFitness — это мобильное приложение для фитнеса, которое предоставляет множество программ тренировок и использует нейросеть для создания персонализированных тренировок в зависимости от параметров текущей тренировки, введенных пользователем.
AiFitness является проектом "дипломом" для Высшего Политехнического колледжа "Astana Polytechnic" группы П-19-49К. Проект был защищён на 5.
Необходимо клонировать репозиторий, ссылка на официальную инструкцию от Microsoft ниже: https://learn.microsoft.com/ru-ru/visualstudio/get-started/tutorial-open-project-from-repo?view=vs-2022
Общая папка проекта для обеих платформ с которой будет идти работа.
Папка с файлами и иконками, кодом под Android.
Папка с файлами и иконками, кодом под iOS.
- Для начала нужно изучить туториал для понимания основ Xamarin, по ссылке на плейлист ниже, туториал можно освоить за полные 3-4 часа: https://www.youtube.com/watch?v=2ycBBoqAWdQ&list=PL0lO_mIqDDFVQIun69pf7B50ICSXpu1Cw
- Доп.туториал по использованию Github: https://www.youtube.com/watch?v=EcItA9wXKnQ
Оглашу краткие цели, здесь буду отмечать какие цели выполнены какие нет:
- Создание прототипа с нейросетью
- Интерфейс с готовыми перемещениями
- Создание Базы Данных с готовыми тренировками
- Создание Демо версии и полной версии приложения
- Реализация приложения по архитектуре MVVM (Model-View-ViewModel) (В итоге получилось что то около MVVM, но больше как MVC в рамках MVVM)
- Создание документации к защите дипломного проекта
- Выпуск проекта в открытый доступ
В ходе разработки цели проекта менялись, однако все они были достигнуты, реализовать по структуре MVVM получилось лишь от части. Использование SQLite затруднилось в связи с тем что в проекте в ходе разработки из всех CRUD операции задействовались только 2: C-Create и U-update. Так как в таких условиях код был бы более неоправданно сложным и неудобным для других разработчиков, решено было всё хранить в ObservableCollection ссылаясь на файлы в объекте коллекции. Модель также была значительна упрощена и имеет недостатки, связанные с отображение обратного отчёта и времени, и требуется модификация и доработка моделей в проекте.
Важно! Так как после окончания разработки проекта все API ключи были отключены, вместо введённых в коде вы должны поставить свои. API ключи были взяты с RapidAPI, по подключению можете найти гайды в интернете, вот один гайд который я лично использовал (на видео всё озвучено на арабском по этому если вдруг вы не знаете арабский, то всё сможете понять и без звука, просто повторяйте за видео): https://www.youtube.com/watch?v=iTeN7IxhjUI&list=WL&index=53&t=1929s