Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

viglucci's avatar

Integrated or separate admin dashboard?

I normally include both frontend and backend capabilities in my applications, however, it recently dawned on me that I could create a separate application that would perform all administrative backend functions, with separate login etc, but would connect to the same database and other servers as the main application.

Have you ever done this?

Would you recommend integrating or having a separate admin application?

Is there any reason NOT to do this?

Thanks.

0 likes
7 replies
bashy's avatar

Perfectly possible and doable. Just think about assets, sessions, cache etc

theUnforgiven's avatar

If your using Laravel Forge connecting to the same database is easy, not so sure on other servers but it's possible.

JarekTkaczyk's avatar

@Ronburgundy Why? You should probably consider module/bundle architecture rather than separate apps. Check how symfony works - all the bundles are independent and can be used alone or glued together.

viglucci's avatar

@JarekTkaczyk I'm pretty new to Laravel and to a module/bundle architecture, so my initially thought was, with my current knowledge I could easily create a separate application to handle the administrative side of my application. However, as you mention, I could probably create a package to do the same thing.

However, one advantage I see to having a separate admin application is that it would allow me to change my tech stack or framework for the main application, without having to rewrite the admin application as well. However, I don't really plan on using anything other than Laravel at this point so that might now really matter.

jekinney's avatar

Similar reasons to use lumen or swift to perform specific tasks.

I have seem the style implemented a time or too. Generally on large apps like a pizza joint that has many stores. Each store has it's own gateway to manage inventory and records including employee's time, training etc and book keeping. Well obviously for security you may not want customers ordering pizzas have any connection what so ever but you want real time inventory. Good case for multiple apps that can share some data.

jakobud's avatar

I've gone down this road of a separate app/website for admin instead of integrating with the main website. We had www.webapp.com and then a separate site: admin.webapp.com.

I would not recommend it.

There are a variety of reasons but one of the most basic ones to consider is that you now have to deal with two different code bases that do the same thing. For example, on your website you have a BlogPost model that deals with querying the blog for posts and displaying them. Now in the admin, you also have a BlogPost model that interfaces with the blog posts for admin purposes. If you change or update one of the models you have to make sure you update the other one to. It's a big pain to make sure everything is kept in sync between the code bases.

Another issue we ran into was with regards to uploading data. In the admin it's common to upload files, like images, into the admin (think like Blog header images). The path that you had to upload to in the admin HAD to be accessible to the frontend web app in order for the images to be visible on the frontend. At one point we had to settle on creating a symlink from one directory to another between the two different websites. I can't remember the reason for it but there definitely was a reason.

I would recommend keeping it all together. It's much less of a headache.

1 like
andre1s's avatar

This is reasonable approach on large projects especially when there are special security considerations. For smaller projects might not be worth the headache.

Please or to participate in this conversation.