$29
Description
The final project is designed to let you apply the skills we learned in class to a project of your own. The final project is open ended, with a few guidelines:
Build a CRUD application of your choosing using Python (or other programming language if you wish) and SQLite or MySQL
The project must encompass all aspects of a CRUD application (similar to the banking assignment)
Create, Read, Update, Delete functionality
The project must utilize a backend relational database similar to the one built in the banking assignment
The data should have 4+ tables
The data must be big enough to query and analyze (500+ records)
This can be manually generated using python, or you can do something better like web scraping or finding csv files online
It must be an application that can be used by an actual user
Takes user input to interact with the database (reading, updating, etc.)
CLI is acceptable
Building a GUI that interacts with your data is better and good experience
We will be going over some Tableau basics in class. You can use this for GUI if you think it is a good use case for your data.
The data can be whatever type of data you want to work with
You are in charge of creating table schemas and relationships between tables
Your application should have some options to query the data in different ways
Think about GROUP BYs, WHERE conditions, aggregations, etc
ex: if you do a student-class database, I should be able to filter for students in a given class through the app, and see the results
You have freedom to pick something that you like, use it!
Idea Submission
Idea submissions will be through email. They will include what data you plan to use, how you plan to get it, and what your database schema might look like. You will have a week from assignment (11/6) to receive approval from me. This means you should send me your idea ASAP in case you need to think of another one in the case your first idea is not approved.
Partners
You may work individually or in teams of 2 (MAX). If you work in a pair, you will both submit the deliverables. In the idea submission, please notify me of who you are working with.
Turn In
Your turn in will be a zip file with the following files:
a python (.py) file (or other language file) that runs your app/GUI
this file will also contain the code that is used to populate your data (loops, web scraping, csv files, etc)
a sql (.sql) file that includes all of the DDL (table creation statements) for your database
an excel file that includes a data dictionary for all of your tables
a powerpoint that describes your project and includes screenshots of the workflow of your application. A rough outline would look something like this:
Title slide
Project description – what are you accomplishing with this project?
Where did the data come from and how did you get it?
Screenshots/screen recording of your application working and moving through the different options available