Wow, lots of area to cover. Your question is very open. The first place I would start is my database and setting up the structure, tables, etc. You really need to have some experience with setting up databases. Developing from the front end without an idea of how you are submitting or getting your data from the back-end only leads to problems. Yes we learn from our mistakes, but at what cost. Seriously, map out your application and the features you want. Then figure out how you are going to get the data into the database and retrieve it as well. I love Firebase. It works nicely with Ionic and is fairly simple to implement even if you have little to no database experience. https://www.firebase.com/features.html
As for image storage, if you have your own hosting, that may be a less expensive solution!
After you get some data in your database, start with Ionic and maybe a template and create some pages and controllers to send and receive some data. Its going to be a lot of trial and error.
I am sure there is a lot others can add to this, but just my 2 cent on where to start!