Dont get hung up on the details right now. Get a prototype done as embrace the mantra of "perfect is the enemy of good". You will learn more by actually shipping something, even if it is very flaky.
This is how I do it. There's no substitute for excitement, so during the initial excitement about the project it's good to quick-code a whole bunch of stuff that you can refine later.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.