An app for saving your planned flights, view detailed information and statistics as well as to entertain you during your flight.
NOTE: THIS PROJECT HAS BEEN PUT ON-HOLD.
Check out the RAD and SDD in /doc for further details and models.
The client application's user interface is build using the JavaFX framework (mainly FXML files) while the server is based on the Java Spring Boot Framework. The application uses Gradle as its Build system.
It is important to keep in mind that all used and displayed data is real as the app gets its data from different API's (
for more details view sources).
Therefore, you can search for any existing city/airport/flight in the world and will get live flight data and current
weather conditions all around the world.
The functionality of the app can be divided into five main functional areas:
-
Search for flights
- You can search for real flights by going to the "Search for flights" tab and input a start and destination city. This can be done by either writing the city's name and then clicking on one of the suggested airports or by simply typing the IATA Code of the Airport you want to start from / arrive to. You can also choose to select a certain date (if not, today's date will automatically be used) and filter direct flights by pressing the "Direct" Button. After pressing "Search" if no flights were found you will get a notification, otherwise there will appear all found flights based on your search criteria with the most important information such as start, terminal at start, destination, terminal at destination, departure time, estimated time of arrival duration and the flight number.
- Each flight consists of at least one flight-object which represents a single direct flight. So, for example when you search from MUC to JFK many flights will first fly to FRA where you will have to change to another flight to JFK. On every flight you can choose to save the flight to your personal flight collection by pressing "add to my flights" and then going to the "My Flights" tab. Of course, if you have saved a delayed flight, you will be notified about it. Once you've added a flight you can also remove it by pressing "Remove from my flights".
-
Flight details
-
View status: You can see the current status of a flight by pressing "View status". There you will be shown whether the flight is on time or if it is delayed (with the corresponding delay) as well as the original, expected and actual time of departure and arrival with the Gate and Terminal of both the start's and the destination's airport.
If you like to, you can closely monitor the current position, altitude and velocity of your airplane by pressing "Follow Flight on Map" where a new window with a map and detailed statistics will appear.
-
View details: By pressing on "View details" you can see details of the city you're flying from/to such as the name, country, weather (with corresponding icon), current temperature, current temperature feels like, min and max temperature of the day, wind direction, wind speed and on top of all that also an image of the city.
-
-
Map / My locations service
- You can access a global map by pressing "View details" and then "Open on map" on any flight where you will be shown your current trim. From there you can view the city you're flying from/to and the app will provide you with a detailed description of the city, images and much more. You can also search for attractions/hotels/restaurants at your destination, filter them, read user feedback, book a hotel/restaurant by pressing the respective buttons and save selected locations to your personal collection. You can either access this collection by pressing "Show favorites" or by going to the "My Locations tab".
-
Media and entertainment system
- Watch flight instructions: Press on "Instructions" where a new window with a safety-instruction video will open.
- Watch movies: Press on "Movies" where you will be able to watch any of the 17 preselected movies in HD-Quality by clicking on the cover of the movie you want to watch.
- Listen to music: Press on "Music" and select the piece you want to listen to by clicking on its cover. You can also read the lyrics (or, if there are none - a detailed analysis of the piece) by clicking on the cover of the music player that appears once you've started a piece.
-
In-flight services
- Submit survey / review flight: To submit a survey you need to switch to the "In-flight Service" tab and enter the Flight-Number of the flight you want to rate and, if you like to, your name too. After that you will have to answer different questions by giving them a rating from 1 (=very bad) to 5 (=very good) and optionally add a text with feedback. After the completion of the survey you will get a gift card.
- Request drinks: By clicking on "Drinks" you will be shown different drinks that you can request by pressing on the icon of the drink you want.
- Request stewardess: By clicking on the stewardess icon on the right of the "Drink/Survey" Button a new alert will open where you can input your request that will be directly send to the server.
To start the FlightSystem you only need to run the main-method of the class
FlightSystem.java (main/java/com/example/eist22t02zweiundvierziger2022/FlightSystem.java). This will
automatically start the app and the server.
The loading of the app should normally take from 5 up to 90 seconds, but may vary depending on your device (and if you
have just cloned it or already started it once before).
The Spring Boot server has three relevant windows that you can access by either using the provided hyperlink or copying and pasting the respective link in a browser. (In case you changes the client/server port you will have to update the link)
- View submitted surveys
http://localhost:8080/Surveys - View drink orders
http://localhost:8080/Drinks - View current in-flight requests
http://localhost:8080/Requests
The server application runs on the default port (8080). In case this port is already in use you can change the port:
-
updating the client port: Replace
.baseUrl("http://localhost:8081/")with.baseUrl("http://localhost:<newHost>/")at line 36 of the server/Client.java class -
changing the port of the application: Go to FlightSystem.java.[RUN] -> [Edit Configurations ...] -> [Modify options] -> [Add VM options] -> input
-Dserver.port=<newHost>in the VM Options field.
Fabian Fritz
Carlo Bortolan (carlo.bortolan@tum.de)
Copyright (c) 2022, Carlo Bortolan, Fabian Fritz
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License here.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.