There are 5 types of users in this application - user, dealer, production house, admin and an anonymous user
User has details such as - username, password, first name, last name, address
Dealer has details such as - username, password, dealer name, dealer location
Production house has details such as - username, password, production house name, location
Domain objects
movie, movies, orders, cart, sold items
User to User relationship -
user can purchase movies from the dealer
dealer can purchase movies from the production house
production house can approve orders by dealer
dealer can approve orders by user
User to domain object relationship -
user adds movie to cart
user adds movies to order
production house adds movies to stock
Domain to Domain relationship -
an order can have many movies
a cart can have many movies
sold items can have many orders
One to many relationships -
a cart can have many movies
an order can have many movies
sold items can have many orders
Many to many relationships -
a movie can be present in many carts
a movie can be present in many orders
a dealer can approve orders from many users
a production house can approve orders from many dealers