mrvalentin / Apps-shop

A coursework as part of the Programming 2 course in Kingston university. The app is analogy of Play store with the difference that it stores only apps made by 1 company.
1 stars 2 forks source link

Apps-store

This project is part of the Programming 2 course in Kingston university.

Project brief: A Creative Software Ltd company would like to create a shop for Apps (applications) for Android phones. The company requires an information system to hold and manage information on Apps available for free trial and for purchase. The company also requires the system to hold and manage information on the customers (purchasers) of the Apps.

The system should be able to perform a number of operations such as: store the name of the developer of the App, the name of the App itself, what the App does (a description), the popularity of the App (how many people have bought that App), the type of the App (News App, Games App, Social Networking App, Travel App etc.), work out the cost of purchasing a specific App, and store whether the App is for free trial or for purchasing. The system also should be able to add, edit, list, search and delete Apps. Finally, the system should be able to return the total number of Apps purchased.

The system should create an account for every customer; store their name and address and their profession. It should store the number of apps each customer has used as a free trial, the number of purchased Apps, the amount to be paid if the App is not a free trial (a customer may buy few Apps at once). It should also add, edit, list, search and delete customers and return the total number of customers. It is assumed that the price per App will also be different for different types of customers. Those who are in education such as academics should get 10% discount. Those who are students should get a 25% discount.

The system should provide some simple interface menu to deal with normal customers, academics, students and Apps.

Your task is to design and implement an object-oriented model of the system in two stages. It is up to you how to go along the task, however, your program should illustrate the major object oriented concepts such as inheritance, association, polymorphism etc.

To reiterate: this is a module on object-oriented programming – we are not looking for a procedural program which does not illustrate the above concepts.