Skip to content

πŸ‘¨β€πŸ’»πŸ‘©β€πŸ’»πŸ§‘β€πŸ’»πŸ‘¨β€πŸ’»Team project: NFT Marketplace. The app helps users browse and buy NFTs. The purchasing process is simulated using a mock server.

Notifications You must be signed in to change notification settings

kosmo-dev/NFT-Marketplace

Repository files navigation

NFT Marketplace

English Version of Readme

НазначСниС ΠΈ Ρ†Π΅Π»ΠΈ прилоТСния

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ 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
  • Локализация
  • БвСтлая / ВСмная Ρ‚Π΅ΠΌΠ°

Π—Π°ΠΏΠΈΡΡŒ экранов с дСмонстрациСй Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π­ΠΏΠΈΠΊ ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ

Screenshot

Π­ΠΏΠΈΠΊ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³

Screenshot

Π­ΠΏΠΈΠΊ ΠšΠΎΡ€Π·ΠΈΠ½Π°

Screenshot

Π­ΠΏΠΈΠΊ Бтатистика

Screenshot

Установка

Установка ΠΈ запуск Ρ‡Π΅Ρ€Π΅Π· Xcode. Π’Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ зависимости Π·Π°ΠΊΠ³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift Package Manager.

Минимальная вСрсия систСмы iOS 14.0.

Бсылки

Π”ΠΈΠ·Π°ΠΉΠ½ Figma

English Version

Purpose and goals of the application

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.

Description of the application

  • 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

    Technology stack

  • Swift, UIKit

  • Architecture: MVP

  • Code layout

  • UITableView, UICollectionView, UITabBarController, WKWebView, UIPageController, UIScrollView

  • URLSession

  • Swift Package Manager

  • GCD

  • YandexMetrica

  • Kingfisher

  • Localization

  • Light/Dark theme

Installation

Installation and launch via Xcode. Required dependencies are downloaded using Swift Package Manager.

Minimum system version is iOS 14.0.

About

πŸ‘¨β€πŸ’»πŸ‘©β€πŸ’»πŸ§‘β€πŸ’»πŸ‘¨β€πŸ’»Team project: NFT Marketplace. The app helps users browse and buy NFTs. The purchasing process is simulated using a mock server.

Topics

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages