Как реализовать панель управления для менеджера в приложении по заказу еды?
Скоро буду начинать делать сайт и приложение для выдуманного ресторана в рамках дипломной работы.
Реализация будет на React/ReactNative + Node.js.
Знаний в данных инструментах пока что достаточно мало, ReactNative вообще не пробовал.
В итоге должно получиться: веб интерфейс (можно сказать интернет магазин) для заказа еды для клиентов, мобильное приложение для Android/IOS и интерфейс для менеджера для отслеживания заказов + админ панель для управления контентом на сайте (на счет админки сомневаюсь, не представляю пока что как ее делать).
В общем вопрос в том, как реализовать ту часть которой будут пользоваться менеджеры? Например человек добавил в корзину товары, оформил все, нажал заказать ---> менеджеру приходит push уведомление о новом заказе. Он заходит в свою панель управления, видит заказ, оформляет, отправляет доставщика.
Непонятно как все это оформить, как хранить все заказы, как их передавать в панель управления после заказа...
Как делать админ панель? Как вообще все это организовать? т.е как организовать совместную работу сайта, мобильного приложения, админ панели и панели управления для менеджера?
Раньше опыта разработки таких проектов не было. Знаний в данных инструментах мало, в некоторых совсем нет.
Как ко всему подступиться, как все спроектировать?
Ничего не учил, ничего не знаю по теме, но буду делать по ней дипломную работу - классика российского выпуска в вузах похоже, ничего за 25 лет не изменилось. Чему вас учили то 5 лет?
zorca, Во первых не ВУЗ а колледж, сами должны догадываться какая программа обучения в колледжах...скорее можно сказать никакая, не считая математики, ее мне кажется везде нормально преподают.
Во вторых я не из России и учусь тоже не в ней.
В третьих не 5 лет обучения а 4.
В четвертых, дипломная работа в большинстве случаев и должны быть связана с изучением новых технологий и инструментов. имхо.
В пятых, я вообще уже не помню что там в колледже изучали, т.к несколько лет не учился в нем по состоянию здоровья. Сейчас пришлось восстановиться.
В шестых, я вообще занимался фронтендом. Ванильный JS знаю достаточно хорошо.
Проблема у меня в фулл стек разработке, точнее в разработке серверной стороны. Я никогда не делал полноценных клиент серверных приложений.
К тому же до защиты диплома еще пол года, изучить необходимые инструменты думаю можно...
evg_96, ну если полгода, тогда у вас много времени, я свой диплом писал за месяц. Если по теме диплома инструменты можно выбрать, то для бекенда бы взял PHP, а конкретно Laravel. Вникнуть можно быстро, написать базу магазина за месяц думаю. Много не нужно: товары с параметрами и корзина, что там еще по заданию, все это выкидывать из базы в админку с возможностью редактирования. По Ларе множество готовых примеров, гуглите CRUD. Фронтенд на Vue или React. Если бекенд принципиально на Ноде, то может будет сложнее. Можно взять что-то готовое, типа Keystone.js.
Для начала пишите все фичи без которых нельзя обойтись
Заказа
Показ списка товаров
Редактирование товаров в админке, одним админом (авторизация через nginx auth)
Без авторизации - если останется время добавить авторизацию по соцсетям
Без оплаты - не делать вообще
Напишите сценарии использования
Зашел
Нажал на кнопку
Заказал
Получил
Зашел в админку
Увидел заказ
Сменил ему статус
...
По списку юзкейсов определить какие модели нужны для хранения состояний
Номализовать БД
Сделать только адаптивный сайт на том фреймворке, который лучше знаете
Дальше, добавлять функционал
Если останется время - пощупать реакт натив
Делать надо согласно ТЗ и никак иначе. Если ТЗ нет - запрашивайте у заказчика, составляйте самостоятельно либо пригласите опытного человека со стороны.
Ответ вполне по теме. В чем проблема? Любой проект начинается с ТЗ, далее идет стадия составления ЧТЗ, далее стадия/стадии проектирование-согласование и затем только разработка. А в конце приемка/сдача проекта. Если человек хочет просто диплом - то вполне может сделать на "отвали" либо "купить/скачать". Вот только в реальной работе такой подход быстро выйдет боком и существенных результатов не достичь. Если же цель научиться - мой ответ выше.