Я хочу разработать приложение, которое имеет некоторые основные принципы, которые не меняются, но некоторые другие функции также могут быть настроены в соответствии с потребностями клиента. Какой должна быть архитектура такого рода приложений? и как управлять кодом для разных клиентов? Должны ли быть созданы разные репозитории или они должны обрабатываться как один репозиторий?