/Backpack

A 3-in-1 application for travelers.

Primary LanguageSwiftMIT LicenseMIT

Backpack

A 3-in-1 application that allows you to:

  • Convert any currency to another.
  • Translate any supported languages.
  • Compare the local weather with all your favorite places.

Overview



Table of Contents

  1. Overview
  2. Requirements
  3. Features
  4. Technologies Used
  5. Getting Started
  6. Dependency
  7. Architecture
  8. Demo
  9. License

Requirements

  • iOS 15.0+

Features

  • 1st page: Currency (Exchange rates)
    • UX/UI inspired by the "Currency converter - Money" app.
    • List of the most traded currencies.
    • Personnal editable list to add or remove currencies.
    • Real-time currency conversion as you type an amount on the selected currency of your choice.
    • Applying SVG flags from FlagKit.

  • 2nd page: Google translate
    • UX/UI inspired by the "Google Translate" app.
    • Write the sentence of your choice in any auto-detected language and receive its translation in another language of your choice.
    • The source/target language can be modified by selecting from a list of supported languages.
    • A search bar can also be used to facilitate your language selection.
    • Option to reverse source and target languages.

  • 3rd page: Weather
    • UX/UI inspired by the official Apple weather app.
    • User-friendly search functionality.
    • Display weather information for any city of your choice.
    • The list is customizable for sorting, adding or removing loactions and converting Celsius to Fahrenheit.
    • High-quality SVG icons for most weather forecast senarios.

  • Responsive Layout from the iPhone SE (3rd Generation) and subsequent versions.

Technologies Used

  • Design Tools: Figma.
  • UX/UI: UIKit, via storyboard and code.
  • Asynchronous Operations: DispatchQueue for multitasking.
  • API Integration: fixer.io, Google Translate, Google Places and OpenWeatherMap.

Getting Started

This application uses Install/Update CocoaPods to manage dependencies.

Prerequisites

  1. Visit fixer.io or APILayer and subscribe to get a free Fixer API key.
  2. Visit Google API Console Help and follow the instructions to gain access to the Google Places and Google Translate APIs.
  3. Visit OpenWeather to obtain an API key (note that OpenWeather services now require payment, albeit at a low cost per request).

Installation

  1. Install required dependency (see below).
  2. Open the project and create a new file named Secrets.xcconfig.
  3. Add your own API keys in the following format:
GOOGLE_API_KEY = "YOUR_GOOGLE_API_KEY"
OPEN_WEATHER_API_KEY = "YOUR_OPEN_WEATHER_API_KEY"
FIXER_API_KEY = "YOUR_FIXER_API_KEY"

Dependency

This application requires the pod GooglePlaces

Architecture

This project relies on MVC Architecture with a separate Network layer.

Demo

License

See LICENSE.md for details