1- Class User: used to set or get information of users it have 6 private member variables of type string for user data {name, email, password, phone number, address, type} and 1 private integer variable ID that is generated by system and hold the id of the user.
2- class Player: inherits from class User to be able to set all parent class attributes and operation & have a parametrized constructor that set the type of user to "player".
3- class Owner: also inherits from class User to be able to set all parent class attributes and operation like class Player have a parametrized constructor that set the type of user to "owner" but have 1 private member variable of type Playground to hold the playground of the Owner.
4- class Playground: represent the playground of the owner with all of it's information {price, location, PgID} & have arraylist of type String to represent the available time slot of owner playground and has some attirbute (functions): - addTime has no return, takes a time slot parameter and add this time slot to playGround arraylist "available". - showTime has no return and display all available time slots of current playground. - deleteslot has no return type, takes an index and remove a time slot from playground arraylist "available" (if player book it). - displayPlg has no return & it display all playground information to the user {price, location, time slot}.
5- class App: class app used to store all user and playgrounds in arraylist users and playgrounds & has some attirbute (functions): - addUser has no return & takes a user as a parameter and add him to arraylist users. - addPlayground has no return & takes a playground as a parameter and add him to arraylist playgrounds. - PlGSize return the size of arraylist playgrounds.
6- class Main: used to display meny and taking data from user & has some attirbute (functions): - signUp called for registering new user, this function creates a new player/owner and add it to array list in system object. - signIn used for users to login into their account. - check that takes user id and password to check user credentials. - ownerMenu display a menu for owner when he login. - playerMenu playerMenu function used to display player menu when he login - menu display main menu.
Tools used in this project: - IntelliJ idea - Netbeans - Github