Closed

databases, graphical user interfaces

Introduction

The purpose of this project is to give you practice working with Tkinter GUIs, databases, and matplotlib.

This project is made up of three related parts. You should read the entire project handout, including the "What to hand in" section and the "Marking" section, before starting the project.

A key component of many scientific studies is data collection. For this project, you will design and create a database, and write two GUI applications: one to collect data and another to analyse it. The data that is collected will be stored in the database. The database will then be queried and the results will be displayed to the user as text and 2D graphs.

For this project, you have more flexibility than you did on the assignments. You will decide what data your applications will collect and analyse, and what tables and fields to include in your database. You will also decide which functions to write, what to name them, what parameters they will have, and what values they will return. In the descriptions below, an overview of the project is given along with some guidelines and constraints.

Part 1: Database

To begin, you must to decide what data to collect and how to store it. That involves designing your database tables and deciding on the number and type of fields in each table. Be sure to read the rest of this project description before creating your database, so that you are able to satisfy the requirements. Once you've designed your database, implement the following function and save it in [url removed, login to view]:

* create_db(str): Create a database with the given name (full directory path and file name) with the database tables that will be used for the rest of the project.

Part 2: Data collection

For this part of the project, you will write an application that has a Tkinter graphical user interface (GUI). This application will be used to collect data and store it in the database you created in Part 1. Here are a few guidelines for your GUI:

* It should contain at least 4 data entry fields (Text or Entry) and at least two of them should be for numeric values. Each data entry field should have a Label describing the data to be entered.

* It should have at least one Checkbutton.

* It should have a Submit button that inserts the data entered into a database.

* It should have a Clear button that clears the contents of the data entry fields and unselects the Checkbutton(s).

* It should also have a Quit button that quits the application.

Save the code for this part of the assignment in files called [url removed, login to view] and collect_gui.py. The GUI code belongs in [url removed, login to view] and the database query code belongs in collect.py. The functions in [url removed, login to view] should call functions in [url removed, login to view], but not the other way around.

You are free to decide which functions to write and what parameters they will have, but you must include the following function in [url removed, login to view]:

* run_collect(str): Runs the GUI application (displays the window, etc) and stores the data entered through the GUI into the database with the given name (full directory path and file name).

Part 3: Data analysis

In this part of the assignment, you will write an application that has a Tkinter graphical user interface (GUI). This application will be used to retrieve and analyse data from the database that you created in Part 1. Here are a few guidelines for your GUI:

* The GUI should allow the user to run at least four different database queries (by clicking Buttons or interacting with the GUI in some way). Here are some guidelines:

o At least three of those queries should use input from the user: those SQL queries should involve an input variable, (?), that is set to a value the user provides through the GUI.

o At least one of those queries should involve a JOIN

o At least one of those queries should involve GROUP BY

o At least one of those queries should involve an aggregate function (SUM, MIN, etc).

* The user should also be able to plot data that results two different database queries (the data that is plotted could be the results of two of the queries mentioned above). The plots should be displayed in a window.

* The GUI should contain a Quit button that quits the application.

Save the code for this part of the assignment in files called [url removed, login to view] and analyse_gui.py. The GUI code belongs in [url removed, login to view] and the database query code belongs in analyse.py. The functions in [url removed, login to view] should call functions in [url removed, login to view], but not the other way around.

You are free to decide which functions to write and what parameters they will have, but you must include the following function in [url removed, login to view]:

* run_analyse(str): Runs the GUI application (displays a the window, etc) that allows the user to run queries on and plot data from the database with the given name (full directory path and file name).

Skills: Python

See more: working graphs, window design group, sql guidelines, set application, scientific design, return path, numeric data entry practice, introduction graphs functions, introduction graphs, introduction functions graphs, introduction databases database design, introduction databases, graphs used, gui number, group o, group directory, graphical designing, graphical design free, free data entry practice, description graphs, data str, data entry practice free, data entry application design, databases introduction, create graphs

About the Employer:
( 0 reviews ) toronto, Canada

Project ID: #246077

1 freelancer is bidding on average $250 for this job

pacejob

Hello, I have a great experience in Python development. Would like to work on this project. regards, pacejob

$250 USD in 3 days
(0 Reviews)
0.0