Empreu aquest identificador per citar o enllaçar aquest ítem: http://elartu.tntu.edu.ua/handle/lib/52603
Títol: Розробка програмного забезпечення системи обліку та управління навчальними заняттями на базі Flutter
Altres títols: Development of software for an academic class scheduling and management system based on Flutter
Autor: Козлівський, Володимир Віталійович
Kozlivskyi, Volodymyr
Affiliation: ТНТУ ім. І. Пулюя, Факультет комп’ютерно-інформаційних систем і програмної інженерії, Кафедра програмної інженерії, м. Тернопіль, Україна
Bibliographic reference (2015): Козлівський В. В. Розробка програмного забезпечення системи обліку та управління навчальними заняттями на базі Flutter : робота на здобуття кваліфікаційного ступеня бакалавра : 121 - інженерія програмного забезпечення / наук. кер. М. В. Бачинський. Тернопіль : Тернопільський національний технічний університет імені Івана Пулюя, 2026. 68 с.
Data de publicació: de -2026
Date of entry: 23-de -2026
Editorial: Тернопільський національний технічний університет імені Івана Пулюя
Country (code): UA
Place of the edition/event: ТНТУ ім. І.Пулюя, ФІС, м. Тернопіль, Україна
Supervisor: Бачинський, Михайло Володимирович
Committee members: Дмитроца, Леся Павлівна
UDC: 004.9
Paraules clau: мобільний застосунок
mobile application
розклад занять
class schedule
Flutter
Flutter
Django
Django
Firebase
Firebase
чиста архітектура
clean architecture
push-сповіщення
push notifications
REST API
REST API
тестування
testing
Number of pages: 68
Resum: Основною метою кваліфікаційної роботи є проєктування архітектури та розробка програмного забезпечення, зокрема, мобільного додатку, для обліку та управління навчальними заняттями. Цілі кваліфікаційної роботи включають дослідження обраного домену, аналіз складних випадків предметної області, аналіз популярних рішень реалізації, а також побудова архітектури застосунку. У першому розділі досліджено предметну область управління навчальними заняттями. Виявлено ключові процеси, обґрунтовано вибір технологічного стеку Flutter, Django та Firebase. У другому розділі спроєктовано та реалізовано повну систему TutorGlide на базі клієнт-серверної архітектури. Реалізовано підсистему розкладу занять з підтримкою повторюваних та одноразових занять. У третьому розділі описано комплексну стратегію тестування системи, реалізовано модульні, інтеграційні, а також автоматизовані тести. У четвертому розділі розглянуто питання безпеки життєдіяльності та охорони праці при розробці програмного забезпечення. Результатом роботи є кросплатформний мобільний додаток, який вирішує проблеми управління навчальними заняттями як на рівні освітніх організацій та закладів, так і на рівні приватного репетиторства.
The primary objective of the qualification thesis is to design the architecture and develop software, specifically a mobile application, for accounting and management of educational sessions. The goals of the qualification thesis include researching the selected domain, analysing complex cases within the subject area, reviewing popular implementation solutions, and constructing the application architecture. The first chapter examines the subject area of educational session management. Key processes are identified, a comparative analysis of mobile development approaches and server-side frameworks is conducted, and the choice of the technology stack Flutter, Django, and Firebase is justified. The second chapter covers the design and implementation of the complete TutorGlide system based on a client-server architecture. A scheduling subsystem with support for both recurring and one-time sessions has been implemented. The third chapter describes the comprehensive testing strategy for the system, including unit, integration, and automated tests. The fourth chapter addresses occupational health, safety, and working conditions in the context of software development. The outcome of the thesis is a cross-platform mobile application that addresses the challenges of educational session management both at the level of educational organisations and institutions, and in the context of private tutoring.
Content: ВСТУП 9 1 ДОСЛІДЖЕННЯ ПРЕДМЕТНОЇ ОБЛАСТІ УПРАВЛІННЯ НАВЧАЛЬНИМИ ЗАНЯТТЯМИ 10 1.1 ХАРАКТЕРИСТИКА ПРЕДМЕТНОЇ ОБЛАСТІ 10 1.2 ОГЛЯД ТА АНАЛІЗ ІСНУЮЧИХ РІШЕНЬ 12 1.3 АНАЛІЗ СПЕЦИФІКИ ТА СКЛАДНИХ ВИПАДКІВ ПРЕДМЕТНОЇ ОБЛАСТІ 14 1.4 ФОРМУВАННЯ ВИМОГ ДО СИСТЕМИ 17 1.4.1 Функціональні вимоги 17 1.4.2 Нефункціональні вимоги 18 1.5 АКТОРИ СИСТЕМИ ТА ОПИС СЦЕНАРІЇВ ВИКОРИСТАННЯ 19 1.6 ПОРІВНЯЛЬНИЙ АНАЛІЗ ПІДХОДІВ ДО РОЗРОБКИ МОБІЛЬНИХ СИСТЕМ 20 2 ПРОЄКТУВАННЯ ТА РЕАЛІЗАЦІЯ СИСТЕМИ ОБЛІКУ НАВЧАЛЬНИХ ЗАНЯТЬ 23 2.1 ЗАГАЛЬНА АРХІТЕКТУРА СИСТЕМИ 23 2.2 АРХІТЕКТУРА ТА РЕАЛІЗАЦІЯ СЕРВЕРНОЇ ЧАСТИНИ 26 2.2.1 Модель даних та ER-діаграма 26 2.2.2 Сервісний шар та шар вибірки даних 27 2.2.3 Проєктування REST API ендпоінтів та OpenAPI-специфікації 29 2.3 АРХІТЕКТУРА ТА РЕАЛІЗАЦІЯ МОБІЛЬНОГО КЛІЄНТА НА FLUTTER 31 2.3.1 Опис шарів та їх відповідальність 32 2.3.2 Управління станом та обробка потоків подій 34 2.3.3 Ін'єкція залежностей (GetIt) та конфігурація DI-контейнера 36 2.3.4 Маршрутизація та навігація 36 2.3.5 Створення HTTP-клієнта та стратегія обробки помилок 37 2.4 РЕАЛІЗАЦІЯ ПІДСИСТЕМИ РОЗКЛАДУ 37 2.4.1 Модель повторюваних та одноразових занять 38 2.4.2 Алгоритм генерації розкладу для заданого діапазону дат 40 2.4.3 Управління часовими зонами на клієнті 41 3 ТЕСТУВАННЯ ТА ВЕРИФІКАЦІЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 42 3.1 СТРАТЕГІЯ ТЕСТУВАННЯ 42 3.2 НАСКРІЗНЕ ТА РУЧНЕ ТЕСТУВАННЯ 43 3.2.1 Автоматизоване E2E-тестування 44 3.2.2 Ручне тестування інтерфейсу 47 3.3 БЕЗПЕРЕРВНА ІНТЕГРАЦІЯ 51 4 БЕЗПЕКА ЖИТТЄДІЯЛЬНОСТІ, ОСНОВИ ОХОРОНИ ПРАЦІ 54 4.1 МОДЕЛЮВАННЯ ТА ПРОГНОЗУВАННЯ НЕБЕЗПЕЧНИХ СИТУАЦІЙ 54 4.2 ВИМОГИ ЕРГОНОМІКИ ДО ОРГАНІЗАЦІЇ РОБОЧОГО МІСЦЯ ОПЕРАТОРА ПК 56 ВИСНОВКИ 59 СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 60
URI: http://elartu.tntu.edu.ua/handle/lib/52603
Copyright owner: © Козлівський Володимир Віталійович, 2026
References (Ukraine): 1. Михалик Д.М., Цуприк Г.Б., Бревус В.М. Методичні вказівки до виконання кваліфікаційної роботи бакалавра для здобувачів першого (бакалаврського) рівня вищої освіти за освітньо-професійною програмою «Інженерія програмного забезпечення» спеціальності 121 – «Інженерія програмного забезпечення» всіх форм навчання. – Тернопіль : ТНТУ ім. І. Пулюя, 2024. – 45 с.
2. Flutter – Open-Source UI Toolkit for Building Natively Compiled Cross-Platform Applications from a Single Codebase. Official Documentation. URL: https://docs.flutter.dev (дата звернення: 07.02.2026).
3. Django – A High-Level Python Web Framework That Encourages Rapid Development and Clean, Pragmatic Design. Official Documentation. URL: https://docs.djangoproject.com (дата звернення: 14.02.2026).
4. Django REST Framework – A Powerful and Flexible Toolkit for Building Web APIs on Top of Django. Official Documentation. URL: https://www.django-rest-framework.org (дата звернення: 14.02.2026).
5. Firebase – Google's Platform for Mobile and Web Application Development: Authentication, Realtime Database, Cloud Storage, and Hosting. Official Documentation. URL: https://firebase.google.com/docs (дата звернення: 21.02.2026).
6. Firebase Cloud Messaging – A Cross-Platform Cloud Solution for Delivering Push Notifications and Messages to Android, iOS, and Web Clients. Overview. URL: https://firebase.google.com/docs/cloud-messaging (дата звернення: 21.02.2026).
7. Fowler M. Patterns of Enterprise Application Architecture. – Addison-Wesley, 2002. – 533 p.
8. OpenAPI Specification – A Standard, Language-Agnostic Interface Description for HTTP APIs Enabling Both Humans and Computers to Discover Service Capabilities. Version 3.1. URL: https://swagger.io/specification/ (дата звернення: 03.03.2026).
9. Martin R. C. Clean Architecture: A Craftsman's Guide to Software Structure and Design. – Prentice Hall, 2017. – 432 p.
10. Martin R. C. The Clean Architecture – Organizing Application Code Into Concentric Layers Around Business Rules with the Dependency Rule. URL: https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html (дата звернення: 03.03.2026).
11. Flutter Cookbook: Networking – Fetching Data from the Internet via HTTP Requests, JSON Deserialization, and Asynchronous Programming. URL: https://docs.flutter.dev/cookbook/networking/fetch-data (дата звернення: 11.03.2026).
12. Flutter – Introduction to State Management: Ephemeral State, Application State, and Reactive UI Patterns in Flutter Applications. URL: https://docs.flutter.dev/data-and-backend/state-mgmt/intro (дата звернення: 11.03.2026).
13. Fowler M. Inversion of Control Containers and the Dependency Injection pattern. URL: https://martinfowler.com/articles/injection.html (дата звернення: 18.03.2026).
14. Seemann M., van Deursen S. Dependency Injection Principles, Practices, and Patterns. – Manning Publications, 2019. – 584 p.
15. Flutter – Navigation and Routing: Managing Screen Transitions, Named Routes, and the Declarative Router API in Flutter. URL: https://docs.flutter.dev/ui/navigation (дата звернення: 18.03.2026).
Content type: Bachelor Thesis
Apareix a les col·leccions:121 — Інженерія програмного забезпечення, F2 Інженерія програмного забезпечення (бакалаври)

Arxius per aquest ítem:
Arxiu Descripció MidaFormat 
dyplom_Kozlivskyi_V_2026.pdf3,14 MBAdobe PDFVeure/Obrir


Els ítems de DSpace es troben protegits per copyright, amb tots els drets reservats, sempre i quan no s’indiqui el contrari.

Eines d'Administrador