Skip to content

mertozseven/CryptoWatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

Crypto Watch - Turkcell Geleceği Yazanlar Bootcamp Second Project by Mert Adem Özseven

Welcome to Crypto Watch! Perfect companion for monitoring Crypto Market and trends 🚀. This app allows user to track current prices, market cap, price changes and see charts.

Table of Contents

Features

See Top Ranking Crpto Coins:

  • Explore the most popular crypto coins listed by rank.

See In Depth Information About Coins:

  • In Detail View of the coin, there is current price, price change, 24 hour change, minimum and maximum prices daily, market cap and price chart!

Screenshots

Image 1 Image 2 Image 3
SplashScreen RankingList DetailView
Splash Screen (Dark Mode) Ranking List (Dark Mode) Detail View (Dark Mode)
Image 4 Image 5 Image 6
lightModeSpash lightRankingList lightDetail
Splash Screen (Light Mode) Ranking List (Light Mode) Detail View (Light Mode)

Tech Stack

  • Xcode: Version 15.3
  • Language: Swift 5.10
  • Minimum iOS Version: 17.0
  • Dependency Manager: SPM
  • 3rd Party Dependencies: Alamofire, SnapKit, KingFisher

Architecture

mvvm

In Crypto Watch's development, MVVM (Model-View-ViewModel) architecture is being used for these key reasons:

  • Enhanced Maintainability: MVVM facilitates a clean separation between the presentation logic and the business logic of the app. This separation makes it easier to manage and update the codebase as the app evolves.
  • Improved Testability: The decoupling of the business logic from the UI components allows for more straightforward unit testing. Developers can focus on testing the logic behind the view model without worrying about the user interface.
  • Stronger Data Binding: MVVM supports two-way data binding between the View and ViewModel, reducing the need for boilerplate code to synchronize the UI with the underlying data. This leads to less error-prone code and a smoother development process.

Getting Started

Prerequisites

Before you begin, ensure you have the following:

  • Xcode installed

Also, make sure that these dependencies are added in your project's target:

  • Kingfisher: Kingfisher is a lightweight and pure Swift library for downloading and caching images from the web.
  • Alamofire: Alamofire is an HTTP networking library written in Swift.
  • SnapKit: SnapKit is a DSL to make Auto Layout easy on both iOS and OS X.

Installation

  1. Clone the repository:

    git clone https://github.com/mertozseven/CryptoWatch.git
  2. Open the project in Xcode:

    cd CryptoWatch
    open CrptoWatch.xcodeproj
  3. Add required dependencies using Swift Package Manager:

    - Kingfisher
    - Alamofire
    - Snapkit
  4. Build and run the project.

Usage Video

Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-05-10.at.15.16.59.mp4


Improvemets

  • Sorting coins for changes or prices could be added
  • Localization for other languages can be added to be able to reach more user.
  • Core data, Fire Base or UserDefaults integration for saved coins.

About

This app allows user to track current prices, market cap, price changes and see charts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages