I would go for just one application. We are running a lot of apps here
and they are all setup like that.
Make the user interface "userType" dependant. Just use layouts...keep it simple.
You can create a seperate folder for your "admin" handlers. I don't do
that anymore, because lots of handlers are "shared" between userTypes.
Interceptors should be your friends as well...
Ping me, if you need more info.