This coming semester I'm doing a project in Andorid&Java in which we need to create an app for a book store, which has also a web site, and can have different sellers (others than the owner) to sell in that store. Kind'a like ebay and amazon, but only with books.
I'm trying now to decide how to design this system. I have an idea, but seance this is my first time, I thought it would be smart to ask in the Stack Overflow community, 'cus people here have a lot of experience. Si where can I learn how to manage such system? again - I'm tying to do this similar to ebay/amazon systems (like enabling search for books, and getting different books from different sellers)
This is how I think to design it, and pls tell what you think: pros/ cons There are going to be some main enteritis (in run time) like Seller,Book,User,Store , and all have basic info about them like address, phone number, email, author etc. Note: Seller class does NOT hold the store class, store doesn't hold book classes - no entity is connected to an another .
In my server, there is going to be a Data base for each entity, and there will be relational table, holding relations like store-seller, book-seller, user-bought_from - store.
When a User wants to buy from a store, he's (the app) is going to send a query to my server, with information about what store does he wants to buy from (lets say for now he knows what store) and the server is going to look inside in his book-store relational table, and will return all the books (or some 'part' of them, no need to get all the info on first fetch) of that store.
All that info will come back to the app/website, will be 'combined' with the store that has that book and the book (so when a user wants to buy from multiple stores - when he pick a book, each objects he selects, could be connected to the store that has it.) and will be displayed there.
This is very general, but the main point is the entities don't contain other entities, but instead all entities that are being used at runtime (like store, book, user, seller, etc.) are more like info cards to know what info to get from the data base.
This way I think some thing could be some what more simple, and the app CMS could be similar to the server CMS.
But I'm not quiet sure, maybe I should just do it a more direct approach, like that a seller will contain a store that will contain books.
The problem with that design is that I think that maybe it makes it harder for specif info query (unless a when you fetch info a seller will not contain all info on books?)
And if I have other objects, like and order-book object. Where that object will be contained? because user and seller both need access to it. and what if not all data is loaded at runtime, but only part of is, and instead all the rest will be disciplined as ID of the other objects that are not loaded, so the app will to get the extra info when it wants it.
I'm really debating on what to do, so I would like to get some advice, and leads to where to learn how manage/design such system.
Thanks!