Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Assignment In this project, the learners should create a client - server system that exchanges information about flights at a certain airport. The emphasis in
Assignment In this project, the learners should create a client server system that exchanges information about flights at a certain airport. The emphasis in this project is on client server architecture, network communication, multithreading, API, and applying good coding practices. The system should consist of two Python scripts the server and the client The server should retrieve data of a selected airport from aviationstack.com via the proper API, extract the required information from the retrieved data, manage connections with multiple simultaneous clients, and respond to client requests. The Server Script The server should start by asking about the target airport ICAO code and retrieve the information about flights at the specified airport over an API. Then the server should be ready to handle the clients with their requests. It should extract the needed information from the API response and send it to the client. The server should conduct the following tasks: Once the server starts up it should ask the user to enter the airport code arr icao Uses the proper API to retrieve records of flights at the specified airport use avaitionstack.com Store the retrieved data in a JSON file called "group ID json" for testing and evaluation purposes Wait for clients' requests to connect should accept at least three connections simultaneously a Accept the connection. b Store the client s name and display it on the terminal. Wait for clients requests search the retrieved data for matching, and send a reply with the matching information. a All arrived flights return flight IATA code, departure airport name, arrival time, arrival terminal number, and arrival gate b All delayed flights return flight IATA code, departure airport, original departure time, the estimated time of arrival arrival terminal, delay, and arrival gate. c All flights from a specific airport using the airport ICAO code return flight IATA code, departure airport, original departure time, estimated arrival time, departure gate, arrival gate, and status d Details of a particular flight return flight IATA code; departure airport, gate, and terminal; arrival airport, gate, and terminal; status; scheduled departure time; and scheduled arrival time The server should display the following details clearly on the server screen: The acceptance of a new connection with the client s name. The requester name, type of request, and request parameters. The disconnection of a client with its name. The Client Script The client script should connect to the server and stay on until the user selects the Quit option. The client should present multiple options for the user; different request types and quit options. The client should send different types of requests, and receive and display the responses. The client should be user friendly and display the options and results neatly. The client should stay connected and ready to send new requests until the user chooses to quit. The client program should conduct the following tasks: Establish a connection with the server and send the client s username to identify itself. Sends one of the following four request types: a Arrived flights: the client should display the flight code IATA departure airport, arrival time, arrival terminal, and arrival gate. b Delayed flights: the client should display the flight code IATA departure airport, departure time, estimated arrival time, delay, terminal, and gate. c All flights coming from a specific city: the client should display flight code IATA departure airport, departure time, estimated arrival time, departure gate, arrival gate, and status. d Details of a particular flight: the client should display flight code IATA departure airport gate and terminal arrival airport gate and terminal status, scheduled departure time, and scheduled arrival time. Close the connection and leave when the user selects the Quit option. Note: the retrieved information should be displayed clearly and neatly. Add a these concepts that we did not take in the class. learn it implement it in your code, and explain its basics in your report: TSL SSL security : should secure all your packet transactions. Use Wireshark to examine the exchanged packets. You must show that it is working during the demonstration and include pieces of evidence in your report screenshots of the packet data Object Oriented Programming: use object oriented programming in your coding. Describe, in your report, the basics of OO in Python, and your classes. GUI: use a graphical user interface for the client. It should be easy to use and clear to read. The user should send all requests using the GUI note: I want you to write a complete code
Assignment
In this project, the learners should create a client
server system that exchanges information
about flights at a certain airport. The emphasis in this project is on client
server
architecture, network communication, multithreading, API, and applying good coding
practices.
The system should consist of two Python scripts
the server and the client
The server
should retrieve data of a selected airport from aviationstack.com via the proper API, extract
the required information from the retrieved data, manage connections with multiple
simultaneous clients, and respond to client requests.
The Server Script
The server should start by asking about the target airport
ICAO code
and retrieve the
information about flights at the specified airport over an API. Then the server should be
ready to handle the clients with their requests. It should extract the needed information
from the API response and send it to the client.
The server should conduct the following tasks:
Once the server starts up
it should ask the user to enter the airport code
arr
icao
Uses the proper API to retrieve
records of flights at the specified airport
use
avaitionstack.com
Store the retrieved data in a JSON file called "group
ID
json"
for testing and
evaluation purposes
Wait for clients' requests to connect
should accept at least three connections
simultaneously
a
Accept the connection.
b
Store the client
s name and display it on the terminal.
Wait for clients
requests search the retrieved data for matching, and send a reply
with the matching information.
a
All arrived flights
return flight IATA code, departure airport name, arrival
time, arrival terminal number, and arrival gate
b
All delayed flights
return flight IATA code, departure airport, original
departure time, the estimated time of arrival
arrival terminal, delay, and
arrival gate.
c
All flights from a specific airport using the airport ICAO code
return flight
IATA code, departure airport, original departure time, estimated arrival
time, departure gate, arrival gate, and status
d
Details of a particular flight
return flight IATA code; departure airport,
gate, and terminal; arrival airport, gate, and terminal; status; scheduled
departure time; and scheduled arrival time
The server should display the following details clearly on the server screen:
The acceptance of a new connection with the client
s name.
The requester name, type of request, and request parameters.
The disconnection of a client with its name.
The Client Script
The client script should connect to the server and stay on until the user selects the Quit
option. The client should present multiple options for the user; different request types and
quit options. The client should send different types of requests, and receive and display the
responses. The client should be user
friendly and display the options and results neatly.
The client should stay connected and ready to send new requests until the user chooses to
quit.
The client program should conduct the following tasks:
Establish a connection with the server and send the client
s username to identify
itself.
Sends one of the following four request types:
a
Arrived flights: the client should display the flight code
IATA
departure
airport, arrival time, arrival terminal, and arrival gate.
b
Delayed flights: the client should display the flight code
IATA
departure
airport, departure time, estimated arrival time, delay, terminal, and gate.
c
All flights coming from a specific city:
the client should display flight
code
IATA
departure airport, departure time, estimated arrival time,
departure gate, arrival gate, and status.
d
Details of a particular flight: the client should display flight code
IATA
departure
airport
gate and terminal
arrival
airport
gate and terminal
status, scheduled departure time, and scheduled arrival time.
Close the connection and leave when the user selects the Quit option.
Note: the retrieved information should be displayed clearly and neatly. Add a these concepts that we did not take in the class. learn it
implement it in your code, and explain its
basics in your report:
TSL
SSL
security
: should secure all your packet transactions. Use
Wireshark to examine the exchanged packets. You must show that it is
working during the demonstration and include pieces of evidence in your
report
screenshots of the packet data
Object
Oriented Programming: use object
oriented programming in your
coding. Describe, in your report, the basics of OO in Python, and your
classes.
GUI: use a graphical user interface for the client. It should be easy to use
and clear to read. The user should send all requests using the GUI note: I want you to write a complete code
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started