title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ð³Ð¾ iOS Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° ÐºÐ½Ð¸Ð³Ð°Ð¼Ð¸
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Development of an iOS mobile application for book swapping
Creators: name: ÐÐ¸Ð»ÑÑÐµÐ², ÐÐ»ÑÑ
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2022
Subjects: Ð¾Ð±Ð¼ÐµÐ½ ÐºÐ½Ð¸Ð³
Ð±ÑÐºÐºÑÐ¾ÑÑÐ¸Ð½Ð³
Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ
ÑÐ»Ð¾Ð¸ÑÑÐ°Ñ Ð°ÑÑ Ð¸ÑÐµÐºÑÑÑÐ°
book swapping
book crossing
mobile application
layered architecture

description: Ð¢ÐµÐ¼Ð° Ð²ÑÐ¿ÑÑÐºÐ½Ð¾Ð¸Ì ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð¾Ð¸Ì ÑÐ°Ð±Ð¾ÑÑ: "Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ð³Ð¾ iOS Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° ÐºÐ½Ð¸Ð³Ð°Ð¼Ð¸". Ð¦ÐµÐ»Ñ ÑÐ°Ð±Ð¾ÑÑ - ÑÐ¾Ð·Ð´Ð°ÑÑ Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ðµ iOS Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ, ÐºÐ¾ÑÐ¾ÑÐ¾Ðµ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÐ¼ Ð½Ð°ÑÐ¾Ð´Ð¸ÑÑ Ð¸Ð½ÑÐµÑÐµÑÑÑÑÐ¸Ðµ Ð¸Ñ ÐºÐ½Ð¸Ð³Ð¸ Ñ Ð´ÑÑÐ³Ð¸Ñ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¸Ì Ð´Ð»Ñ Ð´Ð°Ð»ÑÐ½ÐµÐ¸ÌÑÐµÐ³Ð¾ Ð¾Ð±Ð¼ÐµÐ½Ð°. ÐÐ°Ð´Ð°ÑÐ¸, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð±ÑÐ»Ð¸ ÑÐµÑÐµÐ½Ñ Ð² ÑÐ¾Ð´Ðµ ÑÐ°Ð±Ð¾ÑÑ: 1. ÐÑÐ»Ð¸ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ñ ÑÑÐ½ÐºÑÐ¸Ð¾Ð½Ð°Ð»ÑÐ½ÑÐµ Ð¸ Ð½ÐµÑÑÐ½ÐºÑÐ¸Ð¾Ð½Ð°Ð»ÑÐ½ÑÐµ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ, Ð¿ÑÐµÐ´ÑÑÐ²Ð»ÑÐµÐ¼ÑÐµ Ðº Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ð¼Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° ÐºÐ½Ð¸Ð³Ð°Ð¼Ð¸. 2. ÐÑÐ¾Ð²ÐµÐ´ÐµÐ½ ÑÑÐ°Ð²Ð½Ð¸ÑÐµÐ»ÑÐ½ÑÐ¸Ì Ð°Ð½Ð°Ð»Ð¸Ð· ÐºÐ¾Ð½ÐºÑÑÐµÐ½ÑÐ¾Ð² ÑÐ°Ð·Ð½Ð¾Ð³Ð¾ ÑÐ¾ÑÐ¼Ð°ÑÐ°: ÑÐ¿ÐµÑÐ¸Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÐµ Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½ÑÐµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° ÐºÐ½Ð¸Ð³Ð°Ð¼Ð¸, ÑÐ¿ÐµÑÐ¸Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÐµ ÑÐ°Ð¸ÌÑÑ Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° ÐºÐ½Ð¸Ð³Ð°Ð¼Ð¸, ÑÐµÑÐ²Ð¸ÑÑ Ð´Ð»Ñ ÑÐ°Ð·Ð¼ÐµÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑÑÐ²Ð»ÐµÐ½Ð¸Ð¸Ì, Ð³ÑÑÐ¿Ð¿Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° ÐºÐ½Ð¸Ð³ Ð² ÑÐ¾ÑÐ¸Ð°Ð»ÑÐ½ÑÑ ÑÐµÑÑÑ. ÐÑÐ»Ð¸ Ð²ÑÑÐ²Ð»ÐµÐ½Ñ Ð´Ð¾ÑÑÐ¾Ð¸Ð½ÑÑÐ²Ð° Ð¸ Ð½ÐµÐ´Ð¾ÑÑÐ°ÑÐºÐ¸ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð². 3. ÐÐ° Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð¸Ð¸ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½ÑÑ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ð¸Ì Ð¸ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐ¾Ð² ÑÑÐ°Ð²Ð½Ð¸ÑÐµÐ»ÑÐ½Ð¾Ð³Ð¾ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð±ÑÐ» ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½ Ð³ÑÐ°ÑÐ¸ÑÐµÑÐºÐ¸Ð¸Ì Ð¸Ð½ÑÐµÑÑÐµÐ¸ÌÑ Ð¸ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ðµ ÑÑÐµÐ½Ð°ÑÐ¸Ð¸ Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ð³Ð¾ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ. 4. ÐÑÐ»Ð° ÑÐ¿ÑÐ¾ÐµÐºÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð° Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÐ°, ÑÐ¾ÑÑÐ¾ÑÑÐ°Ñ Ð¸Ð· ÑÑÐµÌÑ ÑÐ»Ð¾ÐµÌÐ²: ÑÐ»Ð¾Ð¸Ì Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¾Ð³Ð¾ Ð¸Ð½ÑÐµÑÑÐµÐ¸ÌÑÐ°, Ð´Ð¾Ð¼ÐµÐ½Ð½ÑÐ¸Ì ÑÐ»Ð¾Ð¸Ì Ð¸ ÑÐ»Ð¾Ð¸Ì Ð´Ð°Ð½Ð½ÑÑ. ÐÑÑÐ¸ÑÐµÐºÑÑÑÐ° ÑÐµÑÐ²ÐµÑÐ° Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð° Ð½Ð° Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ð¸ ÑÐµÑÐ²Ð¸ÑÐ¾Ð² Firebase: Authentication, Firestore, Storage. 5. Ð¡Ð¿ÑÐ¾ÐµÐºÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÐ° Ð±ÑÐ»Ð° ÑÑÐ¿ÐµÑÐ½Ð¾ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð° Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÐ·ÑÐºÐ° Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Swift Ð¸ iOS SDK. ÐÑÑÐ¸ÑÐµÐºÑÑÑÐ° ÐºÐ»Ð¸ÐµÐ½ÑÐ°, ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð½Ð°Ñ Ð½Ð° ÑÐ»Ð¾Ð¸, Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ð»Ð° Ð´Ð¾Ð±Ð¸ÑÑÑÑ ÑÐ»Ð°Ð±Ð¾Ð¸Ì ÑÐ²ÑÐ·Ð°Ð½Ð½Ð¾ÑÑÐ¸, ÑÐµÑÑÐ¸ÑÑÐµÐ¼Ð¾ÑÑÐ¸, Ð¿ÐµÑÐµÐ¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð° Ð¸ Ð»ÐµÐ³ÐºÐ¾ÑÑÐ¸ Ð² Ð¾Ð±ÑÐ»ÑÐ¶Ð¸Ð²Ð°Ð½Ð¸Ð¸. Ð£Ð´Ð°Ð»Ð¾ÑÑ Ð²ÑÑÑÑÐ¾Ð¸ÑÑÂ Ð¾ÑÐ³Ð°Ð½Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½ÑÑ Ð¸ÐµÑÐ°ÑÑÐ¸Ñ ÐºÐ»Ð°ÑÑÐ¾Ð² ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÐ¸Ð¿Ð°, Ð° ÑÐ°ÐºÐ¶Ðµ Ð¸ÐµÑÐ°ÑÑÐ¸Ñ ÑÐºÑÐ°Ð½Ð¾Ð² Ð´Ð»Ñ ÑÐ´Ð¾Ð±Ð½Ð¾Ð¸Ì Ð½Ð°Ð²Ð¸Ð³Ð°ÑÐ¸Ð¸. 6. ÐÑÐ»Ð¸ Ð¿ÑÐ¾ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ñ Ð¾ÑÐ½Ð¾Ð²Ð½ÑÐµ ÑÑÐµÐ½Ð°ÑÐ¸Ð¸ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¸ÌÑÑÐ²Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Unit Ð¸ UI-ÑÐµÑÑÐ¾Ð². ÐÐ»Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÑÐµÑÑÐ¾Ð² Ð±ÑÐ» Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½ ÑÑÐµÐ¸ÌÐ¼Ð²Ð¾ÑÐº XCTest. 7. Ð¡Ð¾ÑÑÐ°Ð²Ð»ÐµÐ½ Ð¿Ð»Ð°Ð½ Ð¿Ð¾ Ð´Ð°Ð»ÑÐ½ÐµÐ¸ÌÑÐµÐ¼Ñ ÑÐ°Ð·Ð²Ð¸ÑÐ¸Ñ Ð¿ÑÐ¾ÐµÐºÑÐ°, ÐºÐ¾ÑÐ¾ÑÑÐ¸Ì Ð²ÐºÐ»ÑÑÐ°ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ ÑÐ°ÐºÐ¾Ð¸Ì ÑÑÐ½ÐºÑÐ¸Ð¾Ð½Ð°Ð»ÑÐ½Ð¾ÑÑÐ¸ ÐºÐ°Ðº: Ð°Ð²ÑÐ¾ÑÐ¸Ð·Ð°ÑÐ¸Ñ ÑÐµÑÐµÐ· ÑÑÐµÑÐ½ÑÐµ Ð·Ð°Ð¿Ð¸ÑÐ¸ Apple Ð¸ Google, Ð¾ÑÐµÐ½ÐºÐ¸ Ð¸ Ð¾ÑÐ·ÑÐ²Ñ Ð¾ ÐºÐ½Ð¸Ð³Ð°Ñ, Ð¿Ð¾Ð´ÑÑÐµÑ ÐºÐ¾Ð»Ð¸ÑÐµÑÑÐ²Ð° Ð¿ÐµÑÐµÐ´Ð°Ñ ÐºÐ½Ð¸Ð³Ð¸, Ð¿ÑÑ-Ð½Ð¾ÑÐ¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¸, ÑÐ°Ð½Ð¶Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐ¾Ð² Ð¿Ð¾Ð¸ÑÐºÐ° Ñ ÑÑÐµÑÐ¾Ð¼ ÑÐµÐ¸ÌÑÐ¸Ð½Ð³Ð° Ð²Ð»Ð°Ð´ÐµÐ»ÑÑÐµÐ² ÐºÐ½Ð¸Ð³, ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ðµ ÐºÐ½Ð¸Ð³Ð¸ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÐºÐ°Ð½Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑÑÐ¸ÑÐºÐ¾Ð´Ð° ISBN. ÐÐ¾Ð½ÐµÑÐ¸Ð·Ð°ÑÐ¸Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑÑÑÐµÑÑÐ²Ð»ÑÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°Ð´Ð°Ð¿ÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÑ ÑÐµÐºÐ»Ð°Ð¼Ð½ÑÑ Ð±Ð°Ð½Ð½ÐµÑÐ¾Ð² Ð¸ Ð¿Ð»Ð°ÑÐ½Ð¾Ð¸Ì Ð¿ÑÐµÐ¼Ð¸ÑÐ¼-Ð¿Ð¾Ð´Ð¿Ð¸ÑÐºÐ¸. Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ»Ð¾ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð¾ Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ, ÐºÐ¾ÑÐ¾ÑÐ¾Ðµ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÐ¼ Ð¾Ð±Ð¼ÐµÐ½Ð¸Ð²Ð°ÑÑÑÑ Ð¿ÑÐ¾ÑÐ¸ÑÐ°Ð½Ð½ÑÐ¼Ð¸ ÐºÐ½Ð¸Ð³Ð°Ð¼Ð¸ Ñ Ð´ÑÑÐ³Ð¸Ð¼Ð¸ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÐ¼Ð¸, ÑÐ»ÐµÐ´Ð¸ÑÑ Ð·Ð° Ð¿Ð¾ÑÐ²Ð»ÐµÐ½Ð¸ÐµÐ¼ Ð½Ð¾Ð²ÑÑ ÐºÐ½Ð¸Ð³ Ð¸ Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¸ÑÑÑÑ Ñ Ð»ÑÐ´ÑÐ¼Ð¸ ÑÐ¾ ÑÑÐ¾Ð¶Ð¸Ð¼Ð¸ ÑÐ¸ÑÐ°ÑÐµÐ»ÑÑÐºÐ¸Ð¼Ð¸ Ð²ÐºÑÑÐ°Ð¼Ð¸. ÐÐ¾Ð¼Ð¸Ð¼Ð¾ Ð¿ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¾Ð¸Ì Ð¿Ð¾Ð»ÑÐ·Ñ Ð´Ð»Ñ Ð»ÑÐ±Ð¸ÑÐµÐ»ÐµÐ¸Ì ÐºÐ½Ð¸Ð³ Ð¸ Ð¿Ð¾Ð¿ÑÐ»ÑÑÐ¸Ð·Ð°ÑÐ¸Ð¸ ÑÑÐµÐ½Ð¸Ñ, Ð´Ð°Ð½Ð½Ð¾Ðµ Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÐ»ÑÐ¶Ð¸ÑÑ Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÑÐ°ÑÑÐ°Ð¿Ð°. Ð¡ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¾Ð· Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¿ÑÐ¸Ð±ÑÐ»Ñ, Ð° ÑÐ°ÐºÐ¶Ðµ Ð¿ÑÐ¾Ð²Ð¾Ð´Ð¸ÑÑ Ð±Ð¸Ð·Ð½ÐµÑ-Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ Ð¸Ð·ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¸Ì.
description: The topic of the final qualifying work: "Development of an iOS mobile application for book swapping". The purpose of the work is to create a mobile application for iOS devices, which will allow users to find interesting books owned by other users for further exchange. Tasks that were solved during the work: 1. Functional and non-functional requirements for a book swapping app have been identified. 2. A comparative analysis of competitors of different formats was carried out: specialized book swapping mobile applications, specialized book swapping websites, services for placing ads, book swapping groups in social networks. The advantages and disadvantages of analogues were revealed. 3. Based on certain requirements and the results of a comparative analysis, a graphical interface and user scenarios of the mobile application were developed. 4. An architecture consisting of three layers was designed: a user interface layer, a domain layer, and a data layer. The server architecture is based on the use of Firebase services: Authentication, Firestore, Storage. 5. The designed architecture was successfully implemented using the Swift programming language and iOS SDK. The client's architecture, divided into layers, made it possible to achieve loose coupling, testability, maintainability, and code reuse. It was possible to build an organized hierarchy of classes, as well as a hierarchy of screens for easy navigation. 6. The main scenarios were tested using Unit and UI tests. The XCTest frame-work was used to write tests. 7. A plan has been drawn up for the further development of the project. It includes the addition of such functionality as: Sign in with Apple and Google, book ratings and reviews, counting the number of book transfers, push notifications, ranking search results based on the rating of book owners, creating a book by scanning an ISBN barcode. The monetization of the application will be carried out with the help of adapted advertising banners and a paid premium subscription. As a result of the work, a mobile application was developed that allows users to swap the books they have read with other users, monitor the addition of new books, and meet people with similar reading tastes. In addition to practical benefits for book lovers and popularization of reading, this mobile application can serve as a basis for creating a startup. The application can generate profit, as well as used for business research of usersâ behavior.