An application data model defines the entities and their relationships that the application logic uses to do its job. The GiveNTake application allows people to share things they no longer need (we called them sellers, even though they give away their products for free) with people who are interested in receiving free items. The data model of our application is composed of the following entities:
- User: A GiveNTake user is a seller or a buyer who wishes to work with the published products.
- Product: An item that a seller wishes to give away in a specific location.
- Category: Products belong to a specific category. In our model, there are two levels, a category and subcategory.
- City: Specific locations in which items are traded.
- ProductMedia: Each product can have a collection of media files (images, videos, and so on).
- Message: User communication about...