Skip to content

onurduyar/TravelApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Travel App

The Smart Travel Application is a mobile application designed to provide users with travel suggestions based on their current location. It offers information about local weather, tourist sites, restaurants, and other relevant details to enhance their travel experience. The main objective of this project was to demonstrate the effective use of location-based services and API integrations to deliver a seamless and personalized travel recommendation system.

GitFlow Strategy

Features

  • Programmatic UI
  • Generic Network Layer
  • Only URLSession
  • OpenWeather API, Travel Advisor API, Geoapify
  • NSCache
  • CustomCells
  • MapView
  • CoreLocation

Project Development Process

During the development process of this project, Trello was used for project management and git version control system was used for code base management. During the project development process, I determined and assigned tasks as if I was working in a team.

Screenshots

Splash HomeView Place
MapView Detail
-

Code Samples

UIImage+Extension -- NSCache

let cache = NSCache<AnyObject, AnyObject>()

extension UIImageView {
    func downloadImage(from url: URL?){
        guard let url else {
            return
        }
        if let image = cache.object(forKey: url.absoluteString as NSString) as? UIImage{
            self.image = image
            return
        }
        
        let session = URLSession(configuration: .default)
        let urlRequest = URLRequest(url: url)
        let task = session.dataTask(with: urlRequest) { data, response, error in
            if let error {
                fatalError(error.localizedDescription)
            }
            guard let data,let image = UIImage(data: data) else {
                return
            }
            
            DispatchQueue.main.async {
                self.image = image
            }
            cache.setObject(image, forKey: url.absoluteString as NSString)
        }
        task.resume()
    }
}

About

The app suggests travel options based on the user's location

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages