Skip to content

eldarovsky/The-Met

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

The Met

An app that provides access to more than 470.000 artworks from "The Metropolitan Museum of Art" that are in the public domain.

LIST OF DEPARTMENTS
  • American Decorative Arts
  • Ancient Near Eastern Art
  • Arms and Armor
  • Arts of Africa, Oceania, and the Americas
  • Asian Art
  • The Cloisters
  • The Costume Institute
  • Drawings and Prints
  • Egyptian Art
  • European Paintings
  • European Sculpture and Decorative Arts
  • Greek and Roman Art
  • Islamic Art
  • The Robert Lehman Collection
  • The Libraries
  • Medieval Art
  • Musical Instruments
  • Photographs
  • Modern Art (mostly not in PD)
  • INSTALLATION
    1. Clone this repository to your local machine:

      https://github.com/eldarovsky/The-Met.git
    2. Open the project in Xcode:

      • Launch Xcode.
      • Select "Open" from the File menu.
      • Navigate to the project folder and select the .xcodeproj file.
    3. Set the Active Scheme:

      • In Xcode's toolbar, select the target device or simulator you want to run the app on (preferred: iPhone 15 Pro, iOS 16.2).
    4. Build and Run the Project:

      • Click the "Run" button (β–Ά) in Xcode's toolbar.
      • The app will build and launch in the selected simulator or device.

    Π’Π•Π₯ΠΠžΠ›ΠžΠ“Π˜Π˜
  • АрхитСктура: MVP+C (C - Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Router) ΠΈ MVC (для ΠΎΠ΄Π½ΠΎΠΉ сцСны)
  • Бостав сцСны: Assembler, ViewController, Presenter, Router
  • ВзаимодСйствиС Ρ„Π°ΠΉΠ»ΠΎΠ² сцСны Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹
  • ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹: singletone, delegate
  • Π¦Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ: Foundation, UIKit
  • ВСрстка интСрфСйса вСлась ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ΄ΠΎΠΌ
  • Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…: UserDefaults для hashValue изобраТСния
  • ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ кастомныС Ρ†Π²Π΅Ρ‚Π° для создания Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ интСрфСйса
  • Π€Π£ΠΠšΠ¦Π˜ΠžΠΠΠ›Π¬ΠΠžΠ‘Π’Π¬
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ активности для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ UX
  • Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· сСти ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ
  • ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡƒ Ρ‚Π°ΠΏΡƒ Π΄ΠΎ Ρ…2, Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ - Π΄ΠΎ Ρ…4) ΠΈ скроллинг ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ изобраТСния
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сохранСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Ρ„ΠΎΡ‚ΠΎΠ°Π»ΡŒΠ±ΠΎΠΌ устройства
  • Асинхронная ограничСнная Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… с использованиСм GCD
  • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ошибкС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, сохранСнии изобраТСния ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅
  • ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ "Retry" Π² ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΈ, Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ - потянув ячСйки Π²Π½ΠΈΠ·
  • ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ сохранСниС изобраТСния Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сСссии
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ‚Π°ΠΊΡ‚ΠΈΠ»ΡŒΠ½Π°Ρ обратная связь ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ "Next"
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ анимация появлСния ячССк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
  • ЦвСтовая схСма прилоТСния Π·Π°Π΄Π°Π½Π° явно
  • ΠŸΠ›ΠΠ Π ΠΠ—Π’Π˜Π’Π˜Π―
  • ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ прилоТСния Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ MVP
  • Π Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования сторонних Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ²
  • Π Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Crashlytics
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ поиск ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словам (Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² MVC Π½Π° Π²Π΅Ρ‚ΠΊΠ΅ "searchScene")
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΡŽ для экрана поиска
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ голосового Π½Π°Π±ΠΎΡ€Π° Π² ΠΏΠΎΠ»Π΅ поиска
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сохранСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ΅
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Ρ… схСм прилоТСния
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ-ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… ΠΈ Ρ‚Π°ΠΊΡ‚ΠΈΠ»ΡŒΠ½Ρ‹Ρ… эффСктов
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ сцСнария отсутствия ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-соСдинСния
  • ИспользованиС Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² интСрфСйсС
  • Π—Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ тСсты
  • Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°