Thank you for the prompt response. Actually, I succeeded in manipulating .htaccess (one in the project root) to resolve all requests to /admin to /customer directory and it works great! The problem is all the subsequent URLs after the landing page still gets generated with /customer/. Thankfully, you generated all URLs with createUrl(), so I tried to adjust the basePath of my custom config, but it broke all assets / css.
I tried to copy the customer directory too, but it broke in many places as well. Changing URLs is pretty straightforward in Yii apps, but it seems that you have extended and customized the request component so the documented Yii code didn't work.
I believe customer, admin, console & frontend are different Yii apps bootstraped via respective conf files. If we adjust baseUrl, they would change the way it generates the Url when we give $this->createUrl(). If I'm right, can you tell me where I have modify the code to adjust the baseUrl?