ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ NFT (Non-Fungible Token). Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΠΎΠΊΡΠΏΠΊΠΈ ΠΈΠΌΠΈΡΠΈΡΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π¦Π΅Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ NFT;
- ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈ ΠΏΠΎΠΊΡΠΏΠΊΠ° NFT (ΠΈΠΌΠΈΡΠΈΡΡΠ΅ΡΡΡ);
- ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ΅ΠΉΡΠΈΠ½Π³Π° Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ;
- ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ NFT, ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ.
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ NFT.
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ²ΡΠΈΠ΅ΡΡ NFT Π² ΠΈΠ·Π±ΡΠ°Π½Π½ΠΎΠ΅.
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π°Π»ΡΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠ»Π°ΡΠΈΠ²Π°ΡΡ Π·Π°ΠΊΠ°Π· (ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΈΠΌΠΈΡΠΈΡΡΠ΅ΡΡΡ).
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΉΡΠΈΠ½Π³ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡ .
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»Π΅, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΠ·Π±ΡΠ°Π½Π½ΡΡ ΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ Π΅ΠΌΡ NFT.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ ΡΠ²Π»ΡΡΡΡΡ:
- Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
- ΡΡΠΌΠ½Π°Ρ ΡΠ΅ΠΌΠ°
- ΡΠΊΡΠ°Π½ ΠΎΠ½Π±ΠΎΡΠ΄ΠΈΠ½Π³Π°
- Π°Π»Π΅ΡΡ Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
- ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ launch screen
- Swift, UIKit
- ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°: MVP
- ΠΠ΅ΡΡΡΠΊΠ° ΠΊΠΎΠ΄ΠΎΠΌ
- UITableView, UICollectionView, UITabBarController, WKWebView, UIPageController, UIScrollView
- URLSession
- Swift Package Manager
- GCD
- YandexMetrica
- Kingfisher
- ΠΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
- Π‘Π²Π΅ΡΠ»Π°Ρ / Π’Π΅ΠΌΠ½Π°Ρ ΡΠ΅ΠΌΠ°
ΠΠΏΠΈΠΊ ΠΡΠΎΡΠΈΠ»Ρ
ΠΠΏΠΈΠΊ ΠΠ°ΡΠ°Π»ΠΎΠ³
ΠΠΏΠΈΠΊ ΠΠΎΡΠ·ΠΈΠ½Π°
ΠΠΏΠΈΠΊ Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ°
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΠ΅Π· Xcode. Π’ΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΊΠ³ΡΡΠΆΠ°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Swift Package Manager.
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ iOS 14.0.
The app helps users browse and buy NFT (Non-Fungible Token). The purchasing functionality is simulated using a mock server.
Application goals:
- viewing NFT collections;
- viewing and purchasing NFT (simulated);
- viewing the ratings of other users;
- view the user profile.
- The application show a catalog of NFTs structured as collections.
- The user can view information about the collection catalog, the selected collection and the selected NFT.
- The user can add NFTs to favorites.
- The user can remove and add items to the cart and place the order (the purchase is simulated).
- User can view other users' rating and users' information.
- The user can view his profile, including information about favorites and NFTs owned by him.
Additional functionality is:
-
localization
-
dark theme
-
onboarding screen
-
an alert with an offer to rate the app in the AppStore
-
custom launch screen
-
Swift, UIKit
-
Architecture: MVP
-
Code layout
-
UITableView, UICollectionView, UITabBarController, WKWebView, UIPageController, UIScrollView
-
URLSession
-
Swift Package Manager
-
GCD
-
YandexMetrica
-
Kingfisher
-
Localization
-
Light/Dark theme
Installation and launch via Xcode. Required dependencies are downloaded using Swift Package Manager.
Minimum system version is iOS 14.0.