ballibabai / MVVM-FinalProject-TravelApp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FinalProject

Travel App

App Description

  • Application has three ViewController in tabbar
  • First field is HomeVC. used collectionView here. this VC has two buttons(Flight and Hotel) and has collectionview for the ArticleData bottom the page
    • CollectionView has BookmarkButton if it's clicked save to CoreData and added BookmarkVC
    • If click collectionView cell, goes to BookmarkVC
    • Same scenario applies to flight and hotel buttons, if click goes to ListVC
  • Second field is SearchVC made with tableView. There is a TextField for search :) and has two button for flight and hotel
    • lists flights but does not show until condition is met when click flight button, same scenario applies for the hotel
    • if click a cell, goes to DetailVC
  • Third field is BookmarkVC made with tableView. default is empty but if save a data can see in here
    • if click a cell, goes to DetailVC
  • DetailVC has imageView, textView and a button
    • Button is goal for save to core data and delete from core data (save/delete same time add to BookmarkVC and delete from BookmarkVC)
  • There are three mockData(Article,Flight and Hotel) and there is a API data from https://app.goflightlabs.com for the Flight
    • Flight data optional if try API data, HotelFlightModel and ListViewModel have code with comment line
  • If you have problems about Kingfisher and Alamofire after download zip or clone, you should do fetch or again add Kingfisher and Alamofire in Xcode (Kingfisher and Alamofire installed in app with SPM)

Tools I use

  • UIKit
  • NavigationController
  • TabBarController
  • TableView
  • CollectionView
  • Auto Layout
  • OOP
  • Protocol
  • URLSession
  • CoreData
  • Flight API (https://app.goflightlabs.com)

Third Party Library

  • KingFisher
  • Alamofire

Software Architectural Pattern

  • MVVM

Photos

<

About


Languages

Language:Swift 100.0%