What is a collective name for the idea of a user facing website and its backend admin web interface

I’m trying to come up with the architectural name of a module/struct to act as a container for aspects related to a web site that has a separate frontend and admin interfaces (different UI layout, behaviour, endpoint perhaps, etc). So far, the best I have come up with is “concern”, or perhaps “interface”.

Some background… I’m looking at support for both a front facing web interface and a backend admin interface in ExAdmin. So, I’m going to create the concept of the thing I’m asking about here. It will be used to scope configuration, managed resources, etc. Similar to how the Phoenix EndPoint or Ecto Repo is used.

I don’t want to use a name that already has a significant meaning in Phoenix since that will cause confusion. For this reason, I’ve rejected View, Template and Context.

Any suggestions?

What we’ve used before at my work, is ‘frontoffice’ and ‘backoffice’, which mainly notes the similarity of these aspects to the usage of rooms(/divisions) in a store or company.

EDIT: Interesting, it seems this use is more wide-spread in software engineering, as Wikipedia even has a page on it.

1 Like

more than sure I’m mistaking for my first suggestion - I read it as ex_admin will both provide front_office and back_office thus arriving at the very creative InterOffice

is it a config? view? template? ExView?

Its not a binary thing. I can picture supporting more than two of these. It will include config, layout view and templates, resource views and templates, etc.

You should call it an “engine” :icon_biggrin:

Based on the description in your first post I thought you would have two of these, one for the user-facing part and one for the ‘admin-facing’ part, but it seems I did not read carefully enough.

I think all of ‘engine’, ‘concern’ and ‘interface’ are terms already have too many conflicting/vague meanings: Isn’t a framework an engine? Does a concern mean that something is bad? Interface: The abstract concept, the Java keyword, application programming interface, user interface? etc.

Maybe you could call it a ‘Cell’, as it is immediately clear that it both is part of a greater whole, have multiple internal parts and have a clearly-defined border (‘membrane’ ;D) where something is either part of it or not.

What aspects? - seems to me, the most important information is missing here, or am I missing something? Given the name ExAdmin, are we talking about administrative aspects?

administration appliance?
administrative module?

Probably should not have used ExAdmin there. I’m actually working on the the rewrite of ExAdmin which has a new name, Talon. I’m designing so that it could be used to create both a front end and a backend to a web application. So, the aspects I see are “Admin”, “FrontEnd”, “Vendor Portal”, etc.