When starting a new website or app there are a few layers to every project that you need to make sure you cover. Any full stack web developer needs to understand these 5 basic layers to build scalable and well-rounded apps or websites. Not every project will need all 5 but in most cases they do
1: Hosting - Where your data is stored
When it comes to choosing your hosting provider for your website or app it is one of the most important choices you could make. The host will be solely responsible for delivering your content effectively and efficiently. Make sure you do your homework!
2:Database - how your data is stored
Depending on what website or app you are building, how you store your data is essential to how your infrastructure will function as a whole. The most popular database type today is still relational databases such as SQL, but more recently non-relational databases have been getting more and more popular such as MongoDB or Redis. Each has its own strength and weakness you can read more about them here
3: Logic - how your data is processed
Logic is what makes our apps today actually useful and work the way the developers intended. Logic is the process of IO (input and output). We take some data, we do something with it and we send it back. There is no rule on how you should handle your logic, in most cases logic is always handled on the backend as much as possible to avoid any heavy lifting on the front-end.
4:API - How your data is fetched
If you don't like working with API's then sorry software development is not for you, every single app interacts with an API some way or another. API or application programming interface is public or privately exposed endpoints of one or many servers that enable us to either fetch, update, delete or add data to our front-end, backend or database. Every programming language has its own methods of interacting with an API and each backend language or database has its own methods for exposing or creating API's, either way, they all essentially serve the same function.
5:UI - How your data is presented
This is the most important and most crucial part of any app or website, get this wrong, no matter how great your other layers are your app will fail. A good UI with excellent UX is key in today's world it is how often your app gets judged by non-developers. UI is complicated and there are multiple people involved in crafting a good UI. In most cases, an app is started by creating prototypes of the UI and every other layer try's and accommodate the UI requirements, not the other way around.
Thanks for reading and I hope this gave you a great overview of these 5 essentials parts of software development.