Это во многом зависит от того, насколько гибка ваша «базовая функциональность», и от степени гибкости, встроенной в нее.
Обычные подозреваемые системы с открытым исходным кодом CMS приходят на ум, если вашему приложению в основном требуется стандартная функциональность, и вы можете создавать модули для него, чтобы соответствовать вашим конкретным требованиям.
Если вы не можете найти то, что подходит вам, вы переходите к выбранной среде программирования и разрабатываете ее самостоятельно.
Вам нужно решить, сколько компонентов вы хотите оставить «на месте». Вы можете отдать на аутсорсинг большинство основных функций вашего сайта (если вы решите это сделать). Мне нравится Amazon DevPay для обработки кредитных карт, а для обработки аккаунта вы можете проверить возможности при входе в Stack Overflows.
Но в конечном итоге вы не получите четкого ответа о том, как создать свой веб-сайт.