For me it provides enough structure without being a super opinionated framework. It handles route and doc generation based off your models and controllers, but everything else is up to you, which is perfect for me.
Here's some practical advice. I would just look at loads of starter projects by googling "express typescript starter github" then explore each project. Things to remember when searching:
- Most starter projects have too many use cases, so you can actually delete parts you don't need.
- You don't need to use a single architecture, it may be better to combine things you like about a few different types