This repo includes the work for ECE356 Internet Traffic course project (Group 20)
This project is a database client application for Internet Service Provider (ISP) network administrators using the Unicauca Network Flows Dataset, which is obtained from https://www.kaggle.com/jsrojas/labeled-network-traffic-flows-114-applications.
Internet_Traffic_ER_Model.pdf
is the ER Model for the projectload_data.sql
loads all data from the source dataset to a tablecreate_er.sql
creates the relational schema for the ER model and load data from the table created by runningload_data.sql
client_app.py
is the main file for the CLIcreate_account.py
is the untility file that allows user to create an account before using the CLIcreate_account.sql
creates a table that stores all registered user accounthandle_command.py
is the utility file that handles commands entered by usermap_file.py
stores some useful dictionaries and lists to be used byhandle_command.py
data_mining.py
is the main file for the data mining exercisedata_mining.sql
has the queries needed to perform data mining exerciseReport.pdf
contains detailed information about this project, including design, implementation, test plan, data mining, etc.Video Demo.mp4
is a brief video demo that introduces the project
- Before running this project, user needs to run
load_data.sql
andcreate_er.sql
to populate the data tables - User needs to run
create_account.sql
to create a user account table - To run this project, run
python3 client_app.py
. - Then the user will be promoted to register a user account with appropriate privilege.
- Once registered successfully, user needs to enter the user name and password again to login
- Once logged in, user can start enter commands
- User can exit the CLI by entering
exit
to the ternimal
- To run the data mining exercise, run
python3 data_mining.py
- It will generate a plot which shows how usage frequency of web services evolves during different hours of a day