This Assignment contributes 100% of the overall module mark. It requires you to use Python’s Standard Library Functions to develop a Vinyl Record Inventory Program and provide a walkthrough demonstration of your program and underpinning code base via a recorded vodcast.
You are the owner of a second-hand online vinyl record shop called Virtual Vinyl which sells retro vinyl to people who still can’t get their heads around the fact that digital really is better. Records are classified by their artist, title, genre, play length, condition, number of records in stock, and cost. The genres are Pop, Rock, Classical, Jazz, Choral, Spoken Word. The play lengths are 78, LP, EP and Single1. The conditions are As New, Very Good, Good, or Acceptable. A file containing details of the stock is available on Blackboard.
Read in data from the text file containing details of the records held in stock and store these into a List data structure.
Implement a set of menu options:
1. Output a list of record titles and their respective details, including a summary report displaying (a) the total number of titles in stock and (b) the value of records in stock.
2. Output a list of record titles and their respective details which are above a user provided price threshold.
3. Output a report giving the number of records existing in each genre type.
4. Option to add a new record and present a summary report displaying (a) the new total number of titles in stock and (b) the new total value of records in stock. The record which you should add is one copy of the LP Radio Silence, by the Neil Cowley Trio at £12.99. The Neil Cowley Trio is a Jazz group.
5. Query if a record title is available and present option of (a) increasing stock level or (b) decreasing the stock level, due to a sale. If the stock level is decreased to zero indicate to the user that the record is currently out of stock.
6. Plot a labelled bar chart that presents the number of titles existing in each genre type.
The user should remain within the program until they select a menu option ‘7’ to quit.
You are required to produce a vodcast, lasting no more than 3 minutes 40 seconds, which provides a walkthrough demonstration of your program accompanied by a review of the code base. The vodcast is a mandatory part of the assignment and is the primary element from which the main learning outcomes will be assessed. A detailed guide, outlining what the vodcast needs to contain, is provide at the end of this specification. Vodcasts that go beyond the vodcast time limit will be penalised. A breakdown of time penalties is given at the end of this document.