Project based on https://dog.ceo/dog-api The user browses through different images of dogs, adds the ones he likes to the favorites gallery, and has the opportunity to find out which breeds he likes the most.
- MVC with interface layout code. (MVC)
- JSON comes from dog-api upon request, from which links to the image are obtained. (URLSession)
- When saving an image to "favorites", a link to the image is saved both in the gallery of the favorite itself and in the application's memory. (core data)
- Favorites itself is based on TableView. There is an option to remove an image from favorites (and from the database) when you tap on it. (table view)
- The recommendation system remembers the breeds of dogs that the user likes (regardless of their presence in favorites), and when you click on the button, it displays the name of the favorite and requests pictures of this particular breed. It is possible to clear the base by pressing the corresponding button. (core data)
ΠΡΠΎΠ΅ΠΊΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ https://dog.ceo/dog-api ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ±Π°ΠΊ, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ²ΡΠΈΡ ΡΡ Π² Π³Π°Π»Π΅ΡΠ΅Ρ ΠΈΠ·Π±ΡΠ°Π½Π½ΠΎΠ³ΠΎ, ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ·Π½Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΡΠΎΠ΄Ρ Π΅ΠΌΡ Π½ΡΠ°Π²ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ.
- MVC Ρ Π²ΡΡΡΡΠΊΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠ΄ΠΎΠΌ. (MVC)
- ΠΡ dog-api ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ JSON, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. (URLSession)
- ΠΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² "ΠΈΠ·Π±ΡΠ°Π½Π½ΠΎΠ΅", ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π² Π³Π°Π»Π΅ΡΠ΅Π΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΈΠ·Π±ΡΠ°Π½Π½ΠΎΠ³ΠΎ, ΡΠ°ΠΊ ΠΈ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. (CoreData)
- Π‘Π°ΠΌΠΎ ΠΈΠ·Π±ΡΠ°Π½Π½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ TableView. ΠΡΠΈΡΡΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΠΈΠ·Π±ΡΠ°Π½Π½ΠΎΠ³ΠΎ (ΠΈ ΠΈΠ· Π±Π°Π·Ρ) ΠΏΡΠΈ ΡΠ°ΠΏΠ΅ Π½Π° Π½Π΅Π³ΠΎ. (TableView)
- Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΏΠΎΡΠΎΠ΄Ρ ΡΠΎΠ±Π°ΠΊ ΠΊΠΎΡΠΎΡΡΡ Π»Π°ΠΉΠΊΠ°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π½Π΅Π·Π°ΠΈΠ²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΈΡ Π½Π°Π»ΠΈΡΠΈΡ Π² ΠΈΠ·Π±ΡΠ°Π½Π½ΠΎΠΌ), ΠΈ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°Π²ΠΎΡΠΈΡΠ° ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠΉ ΠΏΠΎΡΠΎΠ΄Ρ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΈΡΠ΅Π½ΠΈΠ΅ Π±Π°Π·Ρ ΡΠ΅ΡΠ΅Π· Π½Π°ΠΆΠ°ΡΠΈΠ΅ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΠ²ΡΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ. (CoreData)