Hello Matthew,
Congratulations on getting a large project to build! now the fun starts. I would strongly advise some planning around the interactions of the application to get an efficient architecture design (this is pretty obvious!). I generally think of all the parts as kind of equal in terms of a system and each having a kind of responsibility or area of concern (think microservices). Each of these subsystems should literally be a stand alone application or at least perform a purpose that has a pretty well defined edge. You should be able to develop and test each subsystem independently, such that a given set of parameters can produce a "view" result (layout just a simple html wrapper to make it operational). Remember also that you don't have to produce a view in fw/1 you can
create an entire subsystem (or just a controller) that acts like an API and returns data (json,
xml, text etc) only.
When you have got the required subsystems working and testing in a manageable way you can then add them (as a subsystem) to a main fw/1 application.
Your main application can now manage your layouts etc. and general lifecycle interceptions. In the main application create your gateways and services and use dependency injection in your controllers and services (anywhere you need it, in any of your subsystems). AOP can very helpful too.
You can now add each each subsystem of your project with some level of sanity, like eating an Elephant, one bite at a time. F/W1 is an excellent choice as it is as simple or as complex as you want it to be and as it says on the label it won't get in your way! The people behind it, most notably Sean Corfield, and the many contributors to this small community are very knowledgeable and very helpful, though some of the veterans have moved on. I also recommend getting involved with the Lucee community as this is also a place where many Fwoners (I just made that up, not very elegant, but I couldn't think of another name) hang out and have a lot of experience developing with FW/1.
I have deliberately made this non-technical because sometimes plain English is more helpful. There are many ways to handle your project but this is a simple overview of how I do mine.
Good luck with your project.