Simple but Practical Architecture for Full Stack Development
Despite my advancing years and experience, I still prefer to use a rather simple, easy to explain architecture in my client, tutoring and hobby projects.
For as long as I can remember, I have believed in building software in easily replaceable modules. Like the battery in my DSLR. When the juice runs out in the middle of a photoshoot, it’s simply easier to swap the battery out with a new one.
Same thing with software. build it in easily replaceable components, both big and small.
Don’t monolith the whole thing. That is just plain bad and is the worst thing you can do as a developer.
At it’s core, we always have the following main things.
- back end api server
- front end server that consumes this back end.
- authentication server, Oauth2, that provides authorization and authentication to both the back end and front end.
- the database server that stores the data for the back end api.
Now, the right thing is to put your backend and front end code on GitHub, and then link it up with your deployment apps via continuous deployment.
Of course, you will be using Postman for testing your api server.
Lastly, you can see some or all of these things, available to see, at my own hobby project, ‘Random Stuff Generator’