In previous chapters, we used our own boilerplate to bootstrap the application's development. This chapter is going to have a fresh folder structure, but don't worry; we are still going to use a lot of code from the existing boilerplate.
A new folder structure will give us more flexibility, as at the moment we have outgrown our initial architecture. One benefit, which we are not going to cover in this chapter, is that you can move each module to a separate package and install them as dependencies.
Before jumping into things, let's see a high-level view of our architecture:
apps/ -- admin/ -- api/ -- auth/ -- frontstore/ -- shared/ core/ ---- helpers/ ---- middlewares ---- models ---- services config/ ---- environments/ ---- strategies tests/
The explanation for the folder structure is as follows: