Although it'll change - because it always does - I've designed a workable data model.
It's going to allow all the v1.0 functionality I need and I've structured it in a way to let me integrate other features in my backlog at some point in the future.
Now the real building begins.