Question: Create a Python - based GUI application, named Carmax, to manage a car inventory system. This application will interface with a MySQL database hosted

Create a Python-based GUI application, named "Carmax,
" to manage a car inventory system. This
application will interface with a MySQL database hosted on Google Cloud SQL, offering functionalities like
displaying, searching, updating, deleting, and adding car inventory records.
Program Requirements:
1. Startup Display:
Upon launching, the application should display all entries from the car inventory table
automatically.
The developer's name should appear prominently at the top of the application window.
Ensure the inventory table is scrollable to accommodate varying numbers of rows, becoming
scrollable if more than 10 rows are displayed.
2. Search Functionality:
Implement a 'Search' feature allowing users to query the inventory using one of the following
eight attributes: VIN, Brand, Model, Year, Mileage, Price, Condition (Used/New), and Color.
Only a single attribute can be used for each search; multiple-attribute searches are not allowed.
If search results match, display all corresponding entries. If no matches are found, display an
empty table with a message indicating no records found.
If no search criteria are provided, display the entire inventory.
Validate the search inputs to alert users when attempting to search with more than one criterion.
3. Deletion of Records:
Allow users to delete inventory records using a 'Delete' button, requiring a valid VIN number.
Display a warning message if an attempt is made to delete without specifying a VIN.
4. Updating Records:
Provide an 'Update' feature for modifying a cars information. Users must specify the VIN and the
new value for a single field.
Notify users if the 'Update' button is pressed without a VIN.
Ensure that only one field can be updated per operation.
5. Adding New Records:
Include an 'Add' function to insert new car records into the database, requiring all eight fields to
be filled.
Display a warning message if the user tries to add a new record without completing all required
fields.
6. Technical Specifications:
Establish database connectivity using Google Cloud MySQL to enable remote access and
grading.
Design the GUI layout with a message bar between the inventory table and the operation buttons
(Search, Delete, Update, Add) to provide feedback and instructions to users.
Extra Credits (25 points):
Create a login feature that appears when the program starts.
The login screen should accept a hardcoded id of "admin" and password of "1234"
.
If the credentials match, display the inventory management interface. Include a 'Logout' button
that returns the user to the login screen.
As there is only one account, use in-code validation for the login, without needing database
integration.
Submission Requirements:
Submit the source code file(s) for the application.
Include a screenshot of the application's interface in action, capturing the full window.
Evaluation Rubric for 'Carmax' Inventory Management Program:
Your submission will be evaluated based on the following criteria:
1. Functionality (40 points):
Startup Display (5 points): Displays all rows from the car inventory table upon startup, including
a scrollable feature for tables with more than 10 rows.
Search Feature (10 points): Implements a search feature that accurately displays results based
on one of eight fields and handles empty or invalid searches.
Delete Function (5 points): Enables deletion of car records using the VIN, with appropriate
messaging for missing VIN input.
Update Function (10 points): Allows updating a specific field using a VIN, correctly updates the
database, and limits changes to one field per update.
Add Function (10 points): Supports adding new car records with all required fields. Properly
handles missing information.
2. User Interface Design (20 points):
Layout and Accessibility (10 points): Features a user-friendly interface, including clear display
of the user's name, a well-positioned message bar, and intuitive button placement.
Visual Appeal and Usability (10 points): Aesthetic design that enhances usability and
navigation across all features.
3. Database Integration (20 points):
Google Cloud SQL Server Usage (10 points): Demonstrates integration with a Google Cloud
MySQL database, allowing effective data management.
Data Handling and Security (10 points): Manages data transactions with attention to security,
maintaining data integrity.
4. Code Quality and Documentation (20 points):
Code Efficiency and Readability (10 points): The code is well-structured, easy to read, with
clear variable naming and logical organization.
Documentation and Comments (10 points): Provides comprehensive documentation and
comments to explain functionality and logic, enhancing code understanding.
VIN
Create a Python - based GUI application, named

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!