Я пишу онлайн-сервис для своего диссертационного проекта, и сначала я хотел бы получить несколько советов о том, как его следует структурировать в соответствии с требованиями, поскольку я действительно не нашел ответа в другом месте.
Требования следующие:
- веб-приложение должно быть легко встроено в другой веб-сайт
- веб-приложение также должно быть доступно на моем сервере для компании (поэтому должен быть способ уникального доступа к системе каждой компании на моем сервере).
Единственное различие в приложении между компаниями - это макет (другой файл .css) и, по сути, конечная точка, с которой они взаимодействуют.с.Поэтому я не хочу перераспределять всю систему, просто предоставьте правильный файл config и .css в зависимости от того, какая это компания, и «связывайте» приложение на моем сервере, чтобы его не нужно было загружать куда-либо еще.
Допустим, компания A, компания B и компания C (связанные друг с другом только по сектору, в котором они занимаются) используют это веб-приложение.Компания A хочет, чтобы приложение было встроено в их веб-сайт (поэтому интерфейс приложения находится на их веб-сайте , но размещен на моем сервере, что, я думаю, выполнимо с помощью iframe (?)), Но компании B и C хотятвместо этого поместите ссылку на мое веб-приложение и обратитесь к нему.
Моя первоначальная идея заключалась в том, чтобы создать отдельный класс, который отображает правильный интерфейс для бизнеса, который затем принимает параметры $_GET
для определения бизнеса и его настроек.обслуживает правильный стиль и изменяет, к какой таблице он обращается.Затем клиент может получить доступ к системе своего бизнеса, перейдя по адресу myserver.com/app.php?b=name&key=asdasd (очевидно, хэширование или еще как-то сделать его нечитаемым) [ключ - это ключ API, который я должен дать предприятиям]положить его в качестве источника для iframe.Это не большое приложение, поэтому никакие другие страницы не похожи на это (кроме динамической страницы администратора), но оно должно распространяться среди нескольких сторон.Это правильный подход [и как бы вы предложили мне хранить их конкретные файлы]?Если нет, каков наилучший способ сделать такой большой проект?Спасибо