Python assignment

please see attached document for instructions

COMP 2152 Assignment Winter 2020
Important:
1.    This is an individual assignment (complete the requirements on your own).
2.    Do not share the assignment requirements with any former or future students in COMP 2152. Do not share this assignment requirements online in any format, anywhere.
3.    You may choose to complete the all requirements or attempt to complete as much as possible.
4.    Credit will be awarded for requirements completed correctly and entirely with the portion of program functioning as requested. No partial marks will be awarded.
5.    You are allowed to make assumptions about application functionality not mentioned in the project idea (which is more of a general guideline).
6.    At minimum your project must display the functionality described for the idea selected. Any functionality described that is not a part of your submission will result in grade penalties at the discretion of the instructor.
Submission:
–    Submit Python files only. No other format is accepted.
–    DO NOT submit zipped (compressed) files. Any compressed files will not be marked.
–    Submit in  GB Learn and Blackboard!!
Select one of the project ideas below and develop a Python application that meets the requirements described below:
Project ideas (should you want to work on another idea make sure to check with your instructor first):
7.    Online store: users should be able to order items for sale or combo items (items when bought together trigger a discount). The order should include number of items and prices for items and should generate and display receipts.
8.    MP3 Player: the user should be able to choose music categories, individual songs, or artists and should be able to buy an album, or a song. The user should be buying one or more selection, including mixed selections. The user should be able to listen to a 10 seconds sample song selection of their choice.
9.    File manager: the user should be able to create folders and subfolders and should be able to copy and move files to the newly created directories. The user should be able to sort the directories. The user should be able to see what files are in a directory of choice.
10.    Library: users should be able to search for books by title or by author, should be able to search by book category (fiction, non-fiction, autobiographies, travel, etc.). The user should be able to purchase one or more books in any combination of authors, titles, categories, etc. The application should generate and display a receipt stating the list of books selected and their return due dates.
11.    Expense tracker: the user should be able to enter expenses per category (food, clothing, entertainment, rent, etc) and the application should track the expenses per week or month. The user should be able to see their total expenses for a month of their choice for each category and a total monthly expense. The monthly expense report should include average expenses for each category for the year and indicate if the user expense for the month selected is lower or higher than the annual average. Also, the report should display the percentage of expenses from each category out of the total monthly expenses.

Project application requirements:

Requirements description    Points
Basic:
1.    Project should have a functioning menu
2.    Project should have adequate functions (minimum 3 functions)
3.    Project should make use of files to save the data
4.    Project should handle adequate exceptions
5.    Project should display information formatted adequately
6.    Project should make use of lists or dictionaries as appropriate.
7.    Project should follow adequate naming conventions for variables and functions, and should have comments as appropriate.    
10
10
10
10
10
10
10
Intermediate:
8.    Project should use an object-oriented approach
9.    Project should use a database   
10
10
Advanced:
10.    Project should use a GUI platform   
10
   
Total    100