Проектування та розробка кросплатформного мобільного застосунку на React Native для фінансової підтримки Збройних Сил України через механізм краудфандингу

Автор: Форманчук Артур Васильович
Кваліфікаційний рівень: магістр (ОНП)
Спеціальність: Телекомунікації та радіотехніка (освітньо-наукова програма)
Інститут: Інститут телекомунікацій, радіоелектроніки та електронної техніки
Форма навчання: денна
Навчальний рік: 2023-2024 н.р.
Мова захисту: українська
Анотація: Мобільний застосунок - це програмне забезпечення, яке розробляється для функціонування на мобільних пристроях, таких як смартфони та планшети. Створення мобільних додатків включає кілька етапів, до яких входить – розробка та розгортання бекенду, розробка клієнтської частини. Для розробки кросплатформних додатків часто використовується фреймворк React Native, що дозволяє створювати програми для iOS та Android з єдиною кодовою базою. У цій роботі було проведено всебічний аналіз процесу розробки мобільного додатку з використанням сучасних технологій. Дослідження розпочинається з налаштування середовища розробки та створення нового проекту на основі React Native [4]. Описано процес інтеграції необхідних бібліотек для забезпечення функціональності додатку, таких як react-native-background-task для роботи з фоновими завданнями та tanstack/react-query для управління станом даних. Робота детально розглядає налаштування середовища розробки, включаючи створення проекту "Daily Donate" та додавання необхідних бібліотек. Особлива увага приділена розробці бекенду з використанням Node.js [1] та фреймворку Nest.js [3]. Описано процес створення RESTful API, реалізацію аутентифікації та авторизації користувачів за допомогою JSON Web Tokens (JWT), а також роботу з базою даних MongoDB Atlas через ORM Mongoose. Контейнеризація додатку здійснюється за допомогою Docker [2], що спрощує процес розгортання та забезпечує стабільність роботи додатку. Крім того, розглянуто налаштування Docker Compose [2] для управління контейнером. У розділі про розгортання на AWS EC2 [5] описано покроковий процес створення екземпляру віртуальної машини та встановлення Docker. Додатково, у роботі розглянуто налаштування домену на платформі GoDaddy [6] та конфігурацію HTTPS з використанням Nginx та Certbot для отримання SSL сертифікатів від Let’s Encrypt. Налаштування домену включає реєстрацію домену на GoDaddy, додавання A-запису для вказування на IP-адресу екземпляру віртуальної машини та налаштування Nginx для використання SSL сертифікатів. Certbot автоматично налаштовує Nginx для використання SSL сертифіката, що забезпечує безпечний доступ до бекенду. У результаті виконання описаних кроків було створено додаток, який може бути завантажений у App Store та Google Play Market для подальшого використання реальними користувачами. Об’єкт дослідження: процес розробки мобільних додатків. Предмет дослідження: використання сучасних технологій для створення та розгортання мобільних додатків. Мета дослідження: розробити мобільний додаток з використанням React Native. Ключові слова: React Native, Node.js, Nest.js, MongoDB Atlas, Docker, AWS EC2, Certbot, HTTPS. Перелік використаних джерел: 1. Node.js v20.0.0 Documentation. // https://nodejs.org/dist/latest-v20.x/docs/api/ 2. Docker Documentation. // https://docs.docker.com/ 3. NestJS - A progressive Node.js framework. // https://docs.nestjs.com/ 4. React Native Documentation. // https://reactnative.dev/docs/getting-started 5. Amazon Web Services (AWS). Amazon EC2 Documentation. // https://docs.aws.amazon.com/ec2/index.html 6. GoDaddy Help Center. // https://www.godaddy.com/help