Skip to content

oguzveozturk/StateOfFlights

Repository files navigation

# Table of Contents

  1. Description
  2. Getting started
  3. Usage
  4. Arhitecture
  5. Structure
  6. Running the tests
  7. Deployment
  8. Dependencies
  9. Task board
  10. Design
  11. API

StateOfFlights

A simple project that shows flight states on the map.

Description

The user can drag the map to view active flights from opensky API. By clicking on the aircraft, they can obtain the ICAO24 code and origin country information. The flights can be filtered by origin country using the list at the bottom of the screen.

Getting started

1. Make sure you have the Xcode version 14.0 or above installed on your computer.
2. Make sure iOS or iPadOS version 16.0 or above.
2. Download the StateOfFlights project files from the repository.
3. Open the project files in Xcode.
4. Run the StateOfFlights scheme.

Usage

In order to get flights you need an account from opensky. But for the simplicty project contains a dummy account information

Architecture

  • StateOfFlights project is implemented using the VIPER architecture pattern.
  • All the logic is handled within the presenter..

Structure

  • "StateOfFlights": Begining of the app.Contains AppDelegate, AppRouter and AppContainer.
  • "FlightsMap": A draggable map displaying the real-time status of flights.".
  • "CountrySelector": Builted with UISheetPresentationController. The Table below the screen allows the user to select the origin country.
  • "FlightAPI": Files or classes related to communicating with an external API. This could include code for making HTTP requests to a web server, parsing responses, and handling any errors that may occur.
  • "CommonViews": Reusable UI elements.
  • "Common": Files or resources that are shared across multiple parts of the project. Such as utility classes, global constants or extensions.

Running the tests

The StateOfFlights project can be tested using the built-in framework XCTest.
Just select the testing tab and press start.

Dependencies

[SPM] is used as a dependency manager. List of dependencies:

  • 'Alamofire' -> Networking library that ensures that the message reaches everyone in the world.

Workflow

  • Reporting bugs:
    If you come across any issues while using the StateOfFlights, please report them by creating a new issue on the GitHub repository.

  • Reporting bugs form:

App version: 2.12
iOS version: 16.1
Description: When I tap on the "Send" button, my friends don't receive message.
Steps to reproduce: Open "Messages" flow of the app, write down message, press "Send" button.
  • Submitting pull requests:
    If you have a bug fix or a new feature you'd like to add, please submit a pull request. Before submitting a pull request, please make sure that your changes are well-tested and that your code adheres to the Swift style guide.

  • Improving documentation:
    If you notice any errors or areas of improvement in the documentation, feel free to submit a pull request with your changes.

  • Providing feedback:
    If you have any feedback or suggestions for the StateOfFlights project, please let us know by creating a new issue or by sending an email to the project maintainer.

API

  • We are using a REST API from OpenSky-Network
  • List of API calls is here
  • For HTTP networking we are using Alamofire

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published