Programming for problem solving
Budget: £250 – £750 GBP
Introduction
Requirements
You have been tasked with creating a software application that can be used to process and manage data related to the COVID-19 observations. The requirements for the system are as follows:
a) The system will present the user with a text-based user interface through which a user will select options to load the data, process the data, persist the data and visualise the data.
b) The system will load the data from a CSV file into memory.
c) The system will allow the user to process the loaded data as follows: - Retrieve the total number of records that have been loaded. - Retrieve a record with the serial number as specified by the user. - Retrieve the records for the observation dates as specified by the user. - Retrieve all the records grouped by the country/region. - Retrieve a summary of all the records. This should include the following information for each country/region: - the total number of confirmed cases - the total number of deaths - the total number of recoveries
d) The system will allow the user to persist the data to a database. The data should be stored using an appropriate database model. You are required to design the database model.
e) The system will allow the user to utilise the data stored in the database to perform the following queries: - Retrieve the names of all (unique) countries in alphabetical order - Retrieve the number of confirmed cases, deaths, and recoveries for a specified observation / serial number. - Retrieve information for the top 5 countries for confirmed cases - Retrieve information for the top 5 countries for death for specific observation dates
f) The system will allow the user to visualise the data stored in the database as follows: - Display the top 5 countries for confirmed cases using a pie chart - Display the top 5 countries for death for specific dates using a bar chart - Display a suitable (animated) visualisation to show how the number of confirmed cases, deaths, and recovery change over time. This could focus on a specific country or countries.
Environment
You are required to use the following tools: - PyCharm as your integrated development environment - Python 3.8+ (preferably 3.9) as the standard python library - Additionally, the following libraries/modules may be imported and utilised:
csv – to process csv files
datatime – format strings as date and/or times
enum – to add enumerations
json – to process JSON files
matplotlib - to produce visualisations
os – to retrieve or check file paths
random – to generate random numbers
sqlite3 – to create and utilise a database
typing – to add type hints
unittest – to construct and run tests –
Git Tools and GitHub for version control –
No other python libraries or modules should be used
Requirements
You have been tasked with creating a software application that can be used to process and manage data related to the COVID-19 observations. The requirements for the system are as follows:
a) The system will present the user with a text-based user interface through which a user will select options to load the data, process the data, persist the data and visualise the data.
b) The system will load the data from a CSV file into memory.
c) The system will allow the user to process the loaded data as follows: - Retrieve the total number of records that have been loaded. - Retrieve a record with the serial number as specified by the user. - Retrieve the records for the observation dates as specified by the user. - Retrieve all the records grouped by the country/region. - Retrieve a summary of all the records. This should include the following information for each country/region: - the total number of confirmed cases - the total number of deaths - the total number of recoveries
d) The system will allow the user to persist the data to a database. The data should be stored using an appropriate database model. You are required to design the database model.
e) The system will allow the user to utilise the data stored in the database to perform the following queries: - Retrieve the names of all (unique) countries in alphabetical order - Retrieve the number of confirmed cases, deaths, and recoveries for a specified observation / serial number. - Retrieve information for the top 5 countries for confirmed cases - Retrieve information for the top 5 countries for death for specific observation dates
f) The system will allow the user to visualise the data stored in the database as follows: - Display the top 5 countries for confirmed cases using a pie chart - Display the top 5 countries for death for specific dates using a bar chart - Display a suitable (animated) visualisation to show how the number of confirmed cases, deaths, and recovery change over time. This could focus on a specific country or countries.
Environment
You are required to use the following tools: - PyCharm as your integrated development environment - Python 3.8+ (preferably 3.9) as the standard python library - Additionally, the following libraries/modules may be imported and utilised:
csv – to process csv files
datatime – format strings as date and/or times
enum – to add enumerations
json – to process JSON files
matplotlib - to produce visualisations
os – to retrieve or check file paths
random – to generate random numbers
sqlite3 – to create and utilise a database
typing – to add type hints
unittest – to construct and run tests –
Git Tools and GitHub for version control –
No other python libraries or modules should be used