A realtime flight tracking program for our Software Engineering 300 class at ERAU

Overview

Flight Tracking ERAU SE300

Crates.io build docs.rs License Dependency

Description

Software that allows for weather and plane tracking to facilitate the user in looking at plane paths. Many people who choose flights are forced to change flights or wait, when then get canceled or delayed due to weather. For some people it is fine but those who have deadlines would want to avoid this. Buy allowing flights and weather to be tracked it is possible for the user to avoid these delays and flight cancelations.

This is a class project for Embry–Riddle Aeronautical University, class SE 300 (Software Engineer Practices).

Language

Rust: https://www.rust-lang.org/

Implementations

  • Zoom:

Zooming Gif

  • Filter Planes by Airline

Zooming Gif

  • Toggle Weather on/off

Zooming Gif

  • Toggle Airports on/off:

Airport On/Off Gif

Guide

Navigation

The Flight Tracking app allows the user to move freely in the world. The user may zoom in or zoom out as much as they want as long as is in the valid ranges.

Zoom
  • Scroll Up: Zooms Out
  • Scroll Down: Zooms In
Movement

The user must Hold-Left-Click in order to be able to move around the map. While Holding, user can just move the mouse to their preferrable location.

UI

There are a total of 11 buttons on the UI. 6 of this buttons are for filtering purposes like, filtering planes according to their airlines. The other 5 buttons are display settings such as showing weather or showing airports.

Buttons

  • Airplane Button: Airplane Button

This button displays all the filtering options for planes. When clicked 6 filter-type buttons will appear next to the Airplane Button

  • Weather Button: Weather Button

This button enables/disables the weather on map. (Default = Disabled)

  • Debug Button: Debug Button

This button just displays debug info to the user on the top left of the screen. Debug includes FPS, Speed of Map Rendering, Speed of Weather Rendering, and more features.

  • Airport Button: Airport Button

This button displays the airport. Clicking it will enable/disable the airports on the screen. (Default = Enabled)

  • Bench Button: Bench Button

This button outputs into the console the speed of events the user do on the UI. Mostly for developers to use.

  • Filter Buttons:

Filter Buttons

This are the Plane Filter Buttons. When any one type of Filter Button is clicked. The Planes in the map will change according to the Filter(or Airline). Example, if user clicked American Airlines only planes form American Airlines will display on the map.

To-Do:

  • When user clicks a plane, program should display some basic data of the plane in the screen according to the plane's position.

Known-Issues:

  • The Map doesn't load after using it for while. This is because the Map API used in the programs limits the amount of tiles it can load.

  • (Not in Issue, more like a prefer) The Plane API only gets data every 5 seconds or so. Preferrably another Plane API with faster data should be found.

You might also like...
 Software for managing Stream Deck devices with folders and actions
Software for managing Stream Deck devices with folders and actions

Streamduck Software for managing Stream Deck devices with folders and actions Project that will perhaps be better than streamdeck-ui Currently still i

Software adapter for various Chunithm slider controllers with a built-in Brokenithm web controller
Software adapter for various Chunithm slider controllers with a built-in Brokenithm web controller

slidershim Software adapter for various Chunithm slider controllers with a built-in Brokenithm web controller. Has support for keyboard/gamepad output

Meet Rustacean GPT, an experimental project transforming OpenAi's GPT into a helpful, autonomous software engineer to support senior developers and simplify coding life! 🚀🤖🧠
Meet Rustacean GPT, an experimental project transforming OpenAi's GPT into a helpful, autonomous software engineer to support senior developers and simplify coding life! 🚀🤖🧠

Rustacean GPT Welcome, fellow coding enthusiasts! 🚀 🤖 I am excited to introduce you to Rustacean GPT, my humble yet ambitious project that aims to t

Rust library for program synthesis of string transformations from input-output examples 🔮

Synox implements program synthesis of string transformations from input-output examples. Perhaps the most well-known use of string program synthesis in end-user programs is the Flash Fill feature in Excel. These string transformations are learned from input-output examples.

osu-link is a program which links osu!stable beatmaps to osu!lazer's new store format, saving you disk space.

osu-link is a program which links osu!stable beatmaps to osu!lazer's new store format, saving you disk space.

Solana Escrow Program

Environment Setup Install Rust from https://rustup.rs/ Install Solana from https://docs.solana.com/cli/install-solana-cli-tools#use-solanas-install-to

A variation of the solana helloworld program example with a client written in Rust instead of Typescript

Simple Solana Smart Contract Example This repository demonstrates how to create and invoke a program on the Solana blockchain. In Solana the word prog

kindly is a simple Rust implementation of a set-user-ID-root program, similar to sudo but in a much reduced way.

kindly is a simple Rust implementation of a set-user-ID-root program, similar to sudo but in a much reduced way.

01 Solana program application interface.

01 abi The abi is a repository for interfacing with the 01 program either through a rust client or through CPIs from another Solana program. Program A

Comments
  • Readme badges are hardcoded

    Readme badges are hardcoded

    wtf is this. The whole point of lables is to update if things break and to link to crates.io or our actions pipeline. These are just hardcoded to always be green. You have to change the URL so that it can load the state of our project for example this link gives you the status of develop: https://shields.io/github/workflow/status/FlightTrackingERAU/FlightTracking/CI/develop. They have a whole list of the different ones you can do here: https://shields.io/category/build

    Originally posted by @TroyNeubauer in https://github.com/FlightTrackingERAU/FlightTracking/pull/47#discussion_r751398333

    opened by TroyNeubauer 1
  • Fix linker error for GUI on github actions

    Fix linker error for GUI on github actions

    Github actions fails because it is missing some libraries needed by the GUI library.

    = note: /usr/bin/ld: cannot find -lxcb-shape /usr/bin/ld: cannot find -lxcb-xfixes collect2: error: ld returned 1 exit status This first happened in commit: b6ff76af165e8363b0212b92977203d8176351ef

    opened by TroyNeubauer 1
  • Feature/plane selection

    Feature/plane selection

    Finished the show details implementation for planes. -User can see plane details when hovering a plane. -User can see plane details when clicking a plane. -When clicking on plane, the plane details stays fixed on left side on screen. Until when user presses C.

    opened by HernanW4 0
  • Retry loading tiles

    Retry loading tiles

    Currently the cacher does not retry to load tiles that fail. I believe the best way to implement this would be to set a tile that failed to download as never tried, so that subsequent calls to get_tile is called. That way if tiles fail to download they will not be retried if they are not in view. Later we can add some kind of request_preemptive_tile to request the cacher to cache a specific that the render expects will soon be in view ahead of time. This method should return nothing, and the cacher has liberty to no respect preemptive requests as it needs.

    Also the cacher should have some way of reclaiming stale tiles that are on the GPU but out of view.

    opened by TroyNeubauer 0
Releases(v0.5.0)
Owner
null
Web Browser Engineering

This is a port of Web Browser Engineering series from Python to Rust done by Korean Rust User Group.

한국 러스트 사용자 그룹 36 Dec 12, 2022
Mild RSA implementation written in Rust for a class.

rust_rsa About this repo This is my Rust implementation of the RSA encryption standard, based on this book. This is for my CS 3000 - Advanced Algorith

Star 0 May 6, 2022
Reverse engineering Vercel's bot protection

vercel-anti-bot Reverse engineering and analysis of Vercel's bot protection used on https://sdk.vercel.ai (and potentially more of their platforms). U

Levi 16 Aug 22, 2023
global allocator that provides hooks for tracking allocation events

tracking-allocator A GlobalAlloc-compatible allocator implementation that provides the ability to track allocation events. examples As allocators are

Toby Lawrence 39 Dec 22, 2022
This is a public snapshot of Fly's init code. It powers every Firecracker microvm we run for our users.

Fly Init This is a public snapshot of Fly's init code. It powers every Firecracker microvm we run for our users. It is Rust-based and we thought makin

fly.io 186 Dec 30, 2022
Source code and documentation for our 'full stack on rust' meetup on 29-9-2022

Full stack on Rust This is the code and documentation repository for our 'Full stack on Rust' meetup on 29-9-2022. It includes step-by-step documentat

Baseflow 7 Oct 23, 2022
Fixing Discord shortcomings (for our internal server) with Chuckle

About Chuckle is our in-house Discord bot for our internal company server. We weren't a huge fan of Slack and, most of our target demographic uses Dis

Truffle 17 Aug 18, 2023
Opensource diagnostic software for Daimler vehicles, inspired by Xentry and DAS, written in Rust

OPENSTAR An opensource diagnostic application for Daimler vehicles inspired by DAS and Xentry. Some of the work here is based on OpenVehicleDiag If yo

Ashcon Mohseninia 21 Nov 20, 2022
Buildomat manages the provisioning of ephemeral UNIX systems on which to run software builds

B U I L D O M A T a software build labour-saving device Buildomat manages the provisioning of ephemeral UNIX systems (e.g., instances in AWS EC2) on w

Oxide Computer Company 33 Dec 4, 2022
A powerful minecraft bedrock software written in Rust with a powerful Typescript plugin API.

Netrex A powerful minecraft bedrock software written in RustLang. Why Netrex? It's written in Rust. Unique and straight to the point. Typescript Plugi

Netrex 51 Dec 26, 2022