In the next months, I'll be developing a review app as a my first "big" personal project. Here are some actions and features that it will have:
- Storing forms (text+images) which contain users' review about an element (an element could be a product, a service, a professional, etc).
- are not related with each other
- won't be more than 150 elements.
- won't have more than 15 reviews each.
Users can add image files to the element review (up to ~3mb each), there will be no initial limitation for the number of images that a review can have, but, the number will be around 50 on the long run and never less than 5.
Reviews can be deleted by the user and by admins.
All content will be moderated (I need to check the quality of the uploaded data and it will be public just after it's accepted).
I'm a frontEnd guy with little experience (just a bit with SQL dbs), so, I don't have enough knowledge to evaluate what's best. For me, there's no difference between learning one or another type of db.
For what it's worth, the app will have a AngularJS frontEnd and a Node.js backEnd. Based on the research I've done, it was between MySQL and Postgres for SQL dbs, MongoDB and CouchDB for Document-Based NoSQL dbs and Neo4j as graph-based DB. So:
- Is there any advantage to using one or another type of database?
- Does any database match better with a nodeJS backEnd?