Skip to content

Terminal-based application displaying any flight arrivals and their status worldwide. All you need is the airport code!

Notifications You must be signed in to change notification settings

olikelly00/arrivals-lounge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arrivals Lounge 🛬✈️

Welcome to the README for Arrivals Lounge, a terminal-based application for displaying live flight arrivals data.

Table of Contents

Description

Arrivals Lounge is a Go-based terminal application that fetches live flight arrivals data from the FlightAware API, formats it into an arrivals board with anticipated delays, and displays it to the user. Built from scratch by Oli Kelly, this application provides real-time flight information for any chosen airport.

Features

  • Fetch live flight arrivals data for any airport using its IATA code
  • Display formatted arrivals board in the terminal
  • Show anticipated delays for incoming flights
  • Easy-to-use command-line interface

Technologies Used

  • Backend: Go (Golang)
  • External API: FlightAware API
  • Version Control: Git

Installation

To run Arrivals Lounge locally, you'll need to install:

Steps:

  1. Clone the repository:

    git clone https://github.com/olikelly00/arrivals-lounge.git
  2. Navigate to the project directory:

    cd arrivals-lounge
  3. Install dependencies (if any are not included in go.mod):

    go mod tidy

Usage

  1. Ensure you have set up your FlightAware API credentials in the .env file.
  2. Run the application with the IATA code for your chosen airport:
    go run main.go LHR
    Replace LHR with the IATA code of any airport you want to check.

Project Structure

The Arrivals Lounge project is organized as follows:

  • main.go: Entry point of the program
  • go.mod: Lists all the modules (external packages) the project depends on
  • go.sum: Contains checksums for all the dependencies
  • README.md: Project documentation (this file)
  • .env: Environment variables file (not tracked in git)
  • .gitignore: Specifies files to be ignored by git
  • flights/: Package containing flight-related functionality
    • flights.go: Defines flight struct and display function
    • json.go: Functions for fetching flight data from API
    • flight_test.go: Unit tests for flight package
  • test_utils/: Utility functions for testing
    • recording.go: Possibly for recording API responses for tests
  • flightData.json: Sample flight data for testing or development
  • testFile.json: Additional test data file

Contributing

Contributions to Arrivals Lounge are welcome! Please feel free to submit a Pull Request.

Contact

For any questions or feedback, please contact Oli Kelly:

Testing

Arrivals Lounge uses Go's built-in testing framework. To run the tests, follow these steps:

  1. Ensure you are in the project root directory.

  2. Run all tests with:

    go test ./...
  3. To run tests for a specific package:

    go test ./flights
  4. For verbose output, add the -v flag:

    go test -v ./...
  5. To run a specific test function:

    go test -v ./flights -run TestFunctionName

    Replace TestFunctionName with the name of the test function you want to run.

For more information on Go testing, refer to the official Go testing documentation.

About

Terminal-based application displaying any flight arrivals and their status worldwide. All you need is the airport code!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages