приложение для розницы

Модератор: Модераторы

Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

приложение для розницы

Сообщение Attid »

есть необходимость в написании небольшого приложения для розницы.

сейчас есть сайт куда в магазине вбиваются все продажи, и там же ведется учет.
все устраивает кроме того что если упал интернет, то приходится писать на листочке.

хочется ПО на Лазарусе под линукс, которое эту проблему решит.
краткое ТЗ
1 - кнопка синхронизации, скачивает всю инфу с сайта (товары\остатки\клиенты) в локальную БД (предлагаю скллайт или файрбрд, но можно на усмотрение)
и закачивает если есть новые заказы\клиенты
2 - авторизация
3 - форма ввода заказа (и редактирование текущих заказов)
4 - форма заведения клиента (анкета)

возможна дальнейшая поддержка\расширение функционала.

бюджет обсуждаем. предложения на почту attid(at)ya.ru
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

в каком формате скачивается информация с сайта? есть сервис или необходим парсинг html страничек?
кстати, какой дистрибутив линукса?
авторизация - это просто знать один пароль доступа или необходимы учётные записи пользователей?
ev
долгожитель
Сообщения: 1797
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение ev »

а не проще локально поднять копию сайта и сделать репликацию бд? ;)
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

скалогрыз
на сервере мускл + пхп. соответственно можно сделать любой велосипед, от хмл запросов до просто передачи sql запросов.
убунта
логин\пароль которые уже есть на сервере

ev
ты уверен что хочешь активности этого форума ? а то я ж уйду на форум мускла :roll:
на самом деле не думаю что сделать двухстороннюю репликацию в базе которая для этого не предназначена будет проще.
а переносить на другой комп бинарник в случае необходимости доп. рабочего места еще проще.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Attid писал(а):на сервере мускл + пхп. соответственно можно сделать любой велосипед, от хмл запросов до просто передачи sql запросов.

xml запросов? наверное, xml файлов? потому что обмениваться файлами куда лучше, чем посылать запросы.
И основной сайт работает через https (или устанавливается vpn)? т.е. никаких хитростей с шифрованием файлов с данными не нужно делать?

Attid писал(а):логин\пароль которые уже есть на сервере

т.е. и аккаунты тоже нужно синхронизировать?
например, если интернет отпадает, то возможности проверить пользователя с севера не будет и копию логин/пароль нужно тоже держать локально.
В том случае, если логин добавляется(удаляется) на севрере, то при следующий синхронизации он должен быть загружен в локальную копию.
Аватара пользователя
Sharfik
энтузиаст
Сообщения: 841
Зарегистрирован: 20.07.2013 01:04:30

Сообщение Sharfik »

скалогрыз писал(а):например, если интернет отпадает, то возможности проверить пользователя с севера не будет и копию логин/пароль нужно тоже держать локально.
В том случае, если логин добавляется(удаляется) на севрере, то при следующий синхронизации он должен быть загружен в локальную копию.

Я пока твои вопросы читал, в голове ТЗ автора в кашу превратилось. Раздели работу с аутентификацией и работу с заказами и проще станет вопросы задавать и получать ответы. Смотри ТЗ:
сейчас есть сайт куда в магазине вбиваются все продажи, и там же ведется учет.
все устраивает кроме того что если упал интернет, то приходится писать на листочке.

Первая задача отобрать у всех листочки, чтобы они забыли про них.

Attid, если не лень и еще никто не написал тебе на почту, уточни народу задание по пунктам:
1) Сервер MySQL позволяет внешнее подключение?
2) Шифрование данных при передаче от клиентского ПО на серверную БД нужно?
3) Магазин хранит пароли от учеток в открытом виде или md5?
4) Учетки с иерархией допуска?
5) Расчетное время отсутствия интернета и перечень разрешенных действий в этот момент?
6) Магазин самописный кем то или купленный готовый скрипт пхп.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Sharfik писал(а):Я пока твои вопросы читал, в голове ТЗ автора в кашу превратилось. Раздели работу с аутентификацией и работу с заказами и проще станет вопросы задавать и получать ответы.

если всё-таки прочитаешь мои выпросы, то ты должен заметить, что вопросы про аунтефикацию как раз от заказов отделены. ;)
но при работе с потенциальным заказчком избегай таких терминов как "каша (в голове)" :)

Но, если тебе смысл моих вопрос не ясен, то я поясню - эту задачу я бы стал решать без прямого доступа к базе данных.
Гляда на твои вопросы 1, 2 и 5, я понимаю, что у тебя идея решать задачу имея прямоу доступ к базе.
Кстати насчёт №5 - интернет, очевидно, может отсутствовать от 1 минуты до 7 дней. Это не тот вопрос, который решает конечный пользователь.
Аватара пользователя
Sharfik
энтузиаст
Сообщения: 841
Зарегистрирован: 20.07.2013 01:04:30

Сообщение Sharfik »

скалогрыз писал(а):Но, если тебе смысл моих вопрос не ясен, то я поясню - эту задачу я бы стал решать без прямого доступа к базе данных.
Гляда на твои вопросы 1, 2 и 5, я понимаю, что у тебя идея решать задачу имея прямоу доступ к базе.
Кстати насчёт №5 - интернет, очевидно, может отсутствовать от 1 минуты до 7 дней. Это не тот вопрос, который решает конечный пользователь.

Задачу решают исходя из условий. Зачем строить танк, если возможно по условиям ТЗ нужен Миникупер чтобы ездить развозить пиццу. Поэтому и спросил.
Я когда то попадал в ситуацию несогласованности между админами. Дизайн форума надо было обновить, только вот не подумал тогда, что админ сервера ставя форум запретил скриптам запись в папку шаблонов.
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

1) Сервер MySQL позволяет внешнее подключение?
вроде да, но я не могу сделать постоянный ИП адрес. так что лучше не подключатся напрямую.
да и обмен данными через файлы я могу за час сделать.

2) Шифрование данных при передаче от клиентского ПО на серверную БД нужно?
нет

3) Магазин хранит пароли от учеток в открытом виде или md5?
мд5

4) Учетки с иерархией допуска?
нет

5) Расчетное время отсутствия интернета и перечень разрешенных действий в этот момент?
утром загрзили данные из инета. вечером выгрузили. можно даже ночью ничего не хранить локально.

6) Магазин самописный кем то или купленный готовый скрипт пхп.
самописный

по условиям ТЗ нужен Миникупер

в яблочко. ровно по ТЗ 4 формы с простой логикой. с ограниченным бюджетом, если бы это был супермаркет, то все бы было изначально на 1С и туда прикрутили бы битрих.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Attid писал(а):в яблочко. ровно по ТЗ 4 формы с простой логикой. с ограниченным бюджетом, если бы это был супермаркет, то все бы было изначально на 1С и туда прикрутили бы битрих.

Угумс. А как клиентское приложение узнает об изменениях
Attid писал(а):логин\пароль которые уже есть на сервере

без синхронизации аккаунтов? или админ приедет на место и добавит/удалит хеш пароли из списка?
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

Угумс. А как клиентское приложение узнает об изменениях

по кнопочке №1
без синхронизации аккаунтов? или админ приедет на место и добавит/удалит хеш пароли из списка?

кнопка синхронизации доступна без логина, она загружает с сервера таблицы - пользователи\клиенты\товары\заказы, и изменять нужно только последнюю.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Attid писал(а):по кнопочке №1... кнопка синхронизации доступна без логина, она загружает с сервера таблицы - пользователи\клиенты\товары\заказы, и изменять нужно только последнюю.

ну и отлично! т.е. я как раз не предлагал танк, а предлагал сделать тот самый Миникупер, несмотря на то что, в изначальном ТЗ про синхронизацию логинов ничего не было сказано:
Attid писал(а):1 - кнопка синхронизации, скачивает всю инфу с сайта (товары\остатки\клиенты) в локальную БД ... и закачивает если есть новые заказы\клиенты


Встречный вопрос/предложение: если кнопка синхронизации доступна без логина, имеет ли смысл делать кнопку? может просто синхронизировать, каждые X минут? Хотя кнопка с "принудительной" синхронизацией может полезна, в некоторых случаях.
stanilar
постоялец
Сообщения: 289
Зарегистрирован: 09.03.2010 18:09:02

Сообщение stanilar »

Attid писал(а):с ограниченным бюджетом


Разрешите поинтересоваться границами бюджета. А то Ваше желание сделать все на lazarus наводит на печальные мысли.
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

скалогрыз писал(а):про синхронизацию логинов ничего не было сказано

а в чем проблема с логинами ? тем более тут не синхронизация а загрузка.
1 - очищаем таблицу (строчка кода)
2 - загружаем файл (используя туже процедуру что и для остальных файлов загрузки с другим параметром)
3 - раскладываем файл в таблицу (вот только тут возможно придется сделать больше одной строчки кода)

может я что-то не вижу?
в кратком ТЗ да не было про загрузку пользователей, но оно же краткое =)

скалогрыз писал(а):Встречный вопрос/предложение: если кнопка синхронизации доступна без логина, имеет ли смысл делать кнопку? может просто синхронизировать, каждые X минут? Хотя кнопка с "принудительной" синхронизацией может полезна, в некоторых случаях.

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

надо - залить все что есть новое, скачать файлы, грохнуть все что есть , загрузить из файлов

stanilar писал(а): Ваше желание сделать все на lazarus наводит на печальные мысли.

лазарус выбран как самое близкое. проект для которого делается программка скорее хобби чем бизнес, поэтому выберу минимальное предложение.
в мои студенческие годы студентам тоже хотелось кушать, сейчас похоже остались только проги старой школы которые и так загружены своими проектами.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Attid писал(а):а в чем проблема с логинами ? тем более тут не синхронизация а загрузка.

проблемы нет, но когда я о логинах упомянул, меня обвинили в танкостроительстве.
Мне же приятно ощущать себя не совсем идиотом, и человеком способным понимать не только требования ТЗ но и ожидания ТЗ :)

Attid писал(а):ты хочешь сделать поминутную синхронизацию, это действительно сложно, надо отслеживать какие данные изменились во всех таблицах.
чтобы постоянно были точные данные, да это сложно, да это требует много времени и много сил. но это не нужно..

надо - залить все что есть новое, скачать файлы, грохнуть все что есть , загрузить из файлов

а что мешает "залить, всё что есть новое, скачать файлы, грохнуть всё что есть, загрузить из файлов" каждые Х минут. Ну или не Х минут, а скажем Y минут, чтобы пользователи не замечали?

Должен добавить, что я бы не стал делать "грохнуть всё". Просто потому что "всё" может быть большим по размеру.
Вместо "всё", я бы стал делать только разницу (причём с обеих сторон. Т.е. клиент посылает новые данные на сервак и в ответ получает только новые данные).

Attid писал(а):лазарус выбран как самое близкое. проект для которого делается программка скорее хобби чем бизнес, поэтому выберу минимальное предложение.
в мои студенческие годы студентам тоже хотелось кушать, сейчас похоже остались только проги старой школы которые и так загружены своими проектами.
Предполагаю, что бюджет ориентировочно вокруг 4k.
Но меня больше интересует время реализации проэкта.
Ответить