I have been asked by a software development consultant whether our application is 2-tiers or 3-tiers architecture. I googled the two terms and found out conflicting answers.
So here's how our application is currently structured:
- Angularjs on the client side
- Node.js code on the server side
- Mongodb hosted on Atlas
The node.js code connects to the database via mongoose.connect, all CRUD operations (using mongoose) are written in a single crud class and we call these methods from any other class/file.
However this CRUD class file is within the same project with all other Classes.
I've read that the above may be considered a 3-tiers, but I've read elsewhere that the 3rd tier is usually the "Data tier" or the "Data code" , so basically this latter tier would be a separate process/app typically running on another server and it is the one which connects to the DB, and has all the CRUD methods that we need, and we call these curd methods via server-to-server web apis (from the 'logic tier'code to the 'data tier'code)
I am bit confused by the conflicting opinions, so what do you think? is our current structure 2 or 3 tiers?