Для вашей задачи можно использовать
React/Vue +
Webpack +
Koa +
ReactNative/Weex +
MongoDB/MySQL/GraphQL +
Docker +
Nginx +
Git.
1. На
React вы сможете написать как само веб приложение, так и нативные мобильные клиенты под
Android и
IOS с помощью
React Native. Можно выбрать
Vue - он проще для новичка и на нем также можно писать нативные мобильные приложения c
Weex. Использовать
Angular не советую, так как порог вхождения у него выше, а грамотную архитектуру написать сложнее. Тут нужен опыт или советы опытного разработчика.
2.
Webpack. Как не крути, а со сборкой фронтенда вам придется разобраться. В современной разработке без этого никуда. Использовать решения вроде c
reate-react-app, лично я не советую. Как альтернативу для быстрого старта, лучше выбрать
ReKit. Это тулкит для разработки на
React, содержащий в себе полноценную
IDE, начальную структуру проекта с роутингом и
Redux,
DevServer,
HMR, инструменты для тестирования и много других интересных фич, вроде аналитики. Еще в сгенерированном проекте полностью отсутствует вендорная магия, вроде
react-scripts в
create-react-app и у вас не будет каких либо проблем с миграцией.
3. Если выберите
Koa для сервера, вам, как минимум, не придется изучать еще один ЯП.
API накидать на нем плевое дело для опытного разработчика, вам же придется изучать статьи и репозитории с примерами на
github. Можно выбрать
Express это предшественник
Koa, и в силу возраста, статей и ответов на типовые вопросы на
stackoverflow для него больше.
4. Выбор БД не принципиален.
5. Использование
Docker так же не обязательно, но разобравшись сразу, вы во многом облегчите себе жизнь и не столкнетесь с ситуацией, что ваш проект который вроде работал локально, не хочет заводиться на удаленном сервере.
Ну
Nginx и
Git думаю в представлении и обосновании мотивации к использованию не нуждаются.
Так же, возможно, хорошим решением будет использование облачных сервисов вроде
Amazon Web Services
Прежде чем браться изучать эти инструменты вам обязательно надо хорошо изучить
JavaScript,
HTML и
CSS.
По приложению вам понадобится:
1. Веб сайт с описанием сервиса и формой входа/регистрации
2. Клиентское приложение
3. Админка
4. Мобильные приложения
Потратьте время на пользовательские истории, UML диаграммы и схемы интерфейсов. Используйте трекер задач.
Мое мнение, чтобы изучить все вышеперечисленное, а начинать вам, судя по всему, придется начать с основ
JavaScript,
HTML и
CSS, уйдет уйма времени. Чтобы после изучения всего вышеперечисленного, научиться на всем этом писать хороший код, уйдет еще больше времени. Одно дело изучить инструменты, совсем другое научиться писать хороший код, решать типовые задачи, организовывать архитектуру. А решать задачи всех планов, вам придется как по фронтенду, так и по бекенду.
Проще, думаю, перейти с работы дизайнера в веб разработку. Процесс обучения пойдет быстрей, а в сильной команде быстро научитесь решать типовые задачи, писать хороший код и сложится правильное представление об организации архитектуры приложений, да и разработке проектов в целом. Иначе рискуете написать гору неподдерживаемого, немасштабируемого, не стойкого к ошибкам, полного багов кода, который в итоге после тщетных попыток хоть как-то привести в порядок забросите.
Если на рынке уже есть сильный конкурент и ваш сервис просто будет повторять его бизнес модель, то он вряд ли взлетит, только потратите силы и время. Обязательно изучите рынок прежде чем, что-либо предпринимать.