Предисловие: Уже есть работающее приложения на Ionic Framework + Angular, но оно работает криво, код грязный, и интерфейс на любителя. Приложение работает в режиме онлайн, отправляя запросы на сервер.
О приложении: приложение делалось сначала для упаковки заказов. У нас есть заказ со списком товаров, мы открываем этот заказ, и упаковываем товары, кликая по ним, либо сканируя штрих-код. Когда все товары обработаны, мы закрываем этот заказ. Сейчас нужно также дополнить приложение функцией создания заказов. Кроме того, есть форма авторизации, страница с товарами, возможность добавить товар, штрих-код, список клиентов, профиль пользователя.
Требования: написать такое же приложение в стиле Offline First App. Под Offline First App имеется ввиду не только выкачать все данные с сервера и дать пользователю возможность просматривать их оффлайн, но и также возможность выполнять операции в режиме оффлайн, и при наличии стабильного подключения, синхронизировить их (либо эту операцию должен инициировать пользователь). Например, возможность добавить клиента, а также адрес доставки, ну и создать заказ. После этого, отправить данные на сервер. Пока данные не отправлены, должна быть возможность их удалить, но нужно следить за зависимостями, мы не можем удалить клиента, если на него ссылаеться заказ.
Подводные камни:
Я расказал вкратце, но впереди вас будет ждать много подводных камней, так как изменить бекенд радикальным образом не будет возможности. Придеться работать с тем что есть.
Для обновления данных, при наличии интернета, вы наверное хотели бы держать сокет соединение с сервером, но такой возможности не будет, придеться делать либо полинг, либо по инициации пользователя скачивать данные.
Второй вариант, имитировать работу в режиме онлайн, при этом если есть хорошее соединение, то работать в режиме онлайн и отправлять запросы на сервер, но если соединение плохое или отстутсвует, продолжать работу в режиме оффлайн. При этом, даже если есть соединение, запросы по типу вставки или изменения данных должны иметь возможность попасть в очередь запросов, если пользователю так удобней, а не отправляться сразу на сервер.
Стек:
Предполагаю что самым оптимальным вариантом будет Ionic Framework.
Angular/React/Vue на ваш выбор.
Предпочтения:
У меня есть возможность и желание быть с вами на связи во время разработки данного приложения. Я бы хотел иметь возможность принять участие в разработке, хотя бы пасивное, чтобы подкорректировать что-то, либо ответить на ваши вопросы, либо понаблюдать за процессом разработки. По этому отдам предпочтения тому, для кого это не проблема.
Также это необходимо, поскольку у меня нет четкого ТЗ в котором все прописано, и каждую функцию необходимо будет проговорить перед разработкой, и во время разработки у вас 100% будут возникать вопросы. По поводу времени можем согласовать.
Так как из-за отсутсвия ТЗ сложно оценить масштаб и стоимость проекта, единственным правильным решением будет почасовая оплата. Можете написать в отклике ваш рейт.
Оставляйте свои отклики, я с вами свяжусь