Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА IOS-ПРИЛОЖЕНИЯ ЛИЧНОГО КАБИНЕТА СТУДЕНТА ШИФТ КУРСОВ

Работа №182614

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы56
Год сдачи2024
Стоимость4560 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
12
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 3
Перечень условных обозначений, символов, сокращений, терминов 4
Введение 5
1 Выявление и анализ требований 7
1.1 Варианты использования системы 7
1.2 Нефункциональные требования 9
1.3 Модель предметной области 10
1.4 Сценарии на макетах мобильного приложения 10
1.4.1 Сценарий работы с опросами 11
2 Инструментарий и архитектурные решения 13
2.1 Выбор инструментов разработки 13
2.2 Архитектура 13
2.3 Паттерн Repository 15
2.4 UseCases 15
2.5 Разделение мобильное приложение на модули 16
2.6 Паттерн проектирования Фабрика 16
2.7 Swift Concurrency 17
2.8 Пакеты приложения 18
2.9 Dependency injection 18
2.10 Паттерн Координатор 19
3 Реализация 21
3.1 Библиотеки, использующееся в проекте 21
3.2 Координатор 22
3.3 Хранение Токена доступа для работы с сетью 24
3.4 Работа с сетью 25
3.4.1 Swift Concurrency и URLSession 25
3.4.2 Почему не использовать сторонние решения? 26
3.4.3 Непосредственно реализация 27
3.5 Repository 28
3.6 Распространение функциональности среди пользователей 30
3.6.1 Feature toggle 30
3.6.2 Конфиг-сервис 31
3.7 Экрана ввода OTP-кода 32
3.8 S earchB ar в SwiftUI 33
3.9 Анимация в Lottie 35
3.10 Реализация Главного экрана 37
3.11 Реализация экрана Программы 40
3.12 Локализация строк в приложении 42
3.13 Расширение класса DateFormatter 43
3.14 Тестирование 45
3.14.1 Unit-тестирование 45
3.14.2 Unit-тестирование в Swift 46
3.14.3 Принцип F.I.R.S.T 47
Заключение 48
Список использованных источников и литературы49

В современном мире спрос на IT-специалистов стремительно растет. Благодаря повсеместному использованию мобильных устройств и быстрому развитию технологий, мобильные приложения становятся популярным бизнес-решением множества компаний. В том числе и для компании заказчика.
Разработка сервисов компании требует большого количества опытных разработчиков разных специальностей. Отчего возникает потребность в постоянных собеседованиях и набору специалистов. Однако собеседования IT-специалистов могут быть не самым эффективным способом набора разработчиков по нескольким причинам:
Ограниченность информации: во время собеседования сложно полностью оценить навыки и потенциал кандидата. Часто специалисты могут "подготовиться" к собеседованию и это не всегда будет отражать их реальные способности.
Несоответствие культуре компании: даже если кандидат проходит успешно собеседование, он может оказаться не подходящим по культуре компании или стилю работы.
Достаточно популярной альтернативой собеседований являются курсы, которые организует компания.
Студенты - потенциальные работники, а преподаватели - инженеры-программисты компании.
Курсы обладают рядом достоинств.
Прямой доступ к талантливым студентам: преподаватели знают своих студентов лучше, чем пришедших на собеседование кандидатов, и могут рекомендовать наиболее подходящих для работы в компании.
Студенты уже знакомы с методиками обучения: пройдя курсы в компании, они знакомы с процессами работы и используемыми технологиями в компании, что упрощает их адаптацию.
Таким образом, набор специалистов с собственных курсов может быть более эффективным, так как позволяет компании привлекать талантливых и подходящих специалистов, уже знакомых с ее методиками и культурой работы.
В компании заказчика несколько видов курсов, которые проводятся круглый год. Курсы обеспечивают доступ к актуальным материалам, профессиональным преподавателям и возможности практического применения полученных знаний.
Однако, из-за большого количества студентов, проходящих курсы, сложно с ними работать.
Для проведения опросов, лекций, распространения материалов приходится пользоваться разными сервисами. Что очень неудобно для студентов, так как какие-то ссылки на ресурсы могут теряться, события забываться. Поэтому компанией было принято решение разработать мобильное приложение личного кабинета студента курсов.
Личный кабинет для студентов курсов представляет собой удобный инструмент для отслеживания прогресса обучения, доступа к учебным материалам, обмена информацией с преподавателями и коллегами. Он позволяет студентам эффективно организовывать свое время, следить за своими достижениями и получать обратную связь от преподавателей.
Таким образом передо мной была поставлена цель: разработать iOS-приложение личного кабинета студента ШИФТ-курсов.
В свою очередь, основная цепочка задач данной работы выглядит так:
• провести анализ существующих решений
• определить функциональные и нефункциональные требования
• подобрать архитектуру
• разработать мобильное приложение.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Курсы по обучению студентов очень важны для компании заказчика, каждый год происходит активный набор кандидатов. В проведении курсов задействованного большое количество преподавателей - инженеров программистов компании, а также сотни студентов.
В рамках данной работы были выполнены все поставленные задачи. Проведен анализ требований, спроектировано и разработано мобильное приложение. Мобильное приложение покрыто Unit-тестами. В Июле планируется провести курс в компании заказчика с использованием данного мобильного приложения.
Благодаря разработанному мобильному приложению у студентов есть удобная клиентская часть для взаимодействия с курсами, а также в будущем планируется расширить функциональность приложения, предоставив ряд возможностей для преподавателей, перенеся все взаимодействие с студентами в мобильное приложение.


1. SwiftUI // Apple Developer Documentation. - [Б. м.], 2024. - URL:
https://developer.apple.com/xcode/swiftui/ (дата обращения: 20.02.2024).
2. iOS SDK // Wikipedia. - [Б. м.], 2024. - URL:
https://en.wikipedia.org/wiki/IOS_SDK / (дата обращения: 20.01.2024).
3. React Native // React Native Documentation. - [Б. м.], 2024. - URL:
https://reactnative.dev/ (дата обращения: 10.03.2024).
4. Flutter // Flutter Developer Documentation. - [Б. м.], 2024. - URL: https://flutter.dev (дата обращения: 20.08.2024).
5. Swift // Apple Developer Documentation. - [Б. м.], 2024. - URL:
https://developer.apple.com/swift/ (дата обращения: 12.04.2024).
6. Objective-C // Apple Developer Documentation. - [Б. м.], 2024. - URL: https://developer. apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWith ObjectiveC/ (дата обращения: 20.11.2023).
7. Model-View-ViewModel // Википедия. Свободная энциклопедия. - [Б. м.], 2024. - URL: https://ru.wikipedia.org/wiki/Model-View-ViewModel (дата обращения: 16.03.2024).
8. Pattern Repository // WebDevPromt Documentation - [Б. м.], 2024. - URL: https://webdevprompt.com/2024/02/27/-repository-pattern/ (дата обращения: 23.02.2024).
9. Swift Concurrency // Apple Developer Documentation. - [Б. м.], 2024. - URL: https://developer.apple.com/documentation/swift/concurrency (дата обращения: 23.02.2024).
10. Swift Lint // GitHub - [Б. м.], 2024. - URL: https://github.com/realm/SwiftLint (дата обращения: 20.02.2024).
11. Lottie // GitHub - [Б. м.], 2024. - URL: https://github.com/airbnb/lottie-ios (дата обращения: 04.04.2024).
12. XcodeGen // GitHub - [Б. м.], 2024. - URL: https://github.com/yonaskolb/XcodeGen (дата обращения: 13.02.2024).
13. NavigationView // Apple Developer Documentation. - [Б. м.], 2024. - URL:
https://developer.apple.com/documentation/swiftui/navigationview (дата обращения:
24.04.2024).
14. NavigationLink // Apple Developer Documentation. - [Б. м.], 2024. - URL:
https://developer.apple.com/documentation/swiftui/navigationlink (дата обращения:
24.04.2024).
15. NavigationStack // Apple Developer Documentation. - [Б. м.], 2024. - URL:
https://developer.apple.com/documentation/swiflui/navigationstack (дата обращения:
24.04.2024).
..22


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ