R50 e9c927ed4316abc7e2bb61356ecd08b8
Системное программирование

Киоск для онлайн-магазина / Kiosk application — online store

Добавлено 15 сен 2016 в 16:45
Терминал для оформления заказа и доставки товаров в магазине. Железная часть была сделана на заказ. Экран со встроенным тачскрином.
ОС: windows (пожелание заказчика). Фактически приложение кроссплатформенное: есть поддержка Windows, Linux, MacOS.
Моя часть: программирование и большая часть верстки. Дизайн был предоставлен клиентом.
Приложение создано на основе NodeWebkit: движок хромиум плюс Node.js.

Ключевые особенности:
Загрузка списков товаров через REST API сервис;
Слайдер товаров с использованием CSS3 переходов для создания эффекта объема;
Кэширование запросов к REST API в ОЗУ;
Кэширование каталога товаров и его автообновление в ОЗУ;
Локальные фильтры товаров в каталоге;
Полное кэширование изображений на диск (для Linux x64 возможно кэширование картинок в ОЗУ) и автообновление кэша;
Разработанная с нуля виртуальная клавиатура - необходима была совместимость с фильтром телефонного номера;
Обработка ошибок REST API сервиса и вывод сообщения об ошибке;
Обработка ошибок сетевого соединения и вывод сообщения о недоступности киоска;
Обработка внутренних ошибок и занесение их в лог;
Логирование некоторых важных событий и ежедневная отправка логов на почту.

~90% функционала было реализовано за 3 недели. Еще в течении 3х недель исправлялись баги, а также вносились изменения и дополнения в соответствии с пожеланиями клиента.

Kiosk application — online store. Hardware was develop other company. It has touchscreen and camera.
OS: Windows (Client wish) also work fine in linux and MacOS.
My work: full develop and programing, design was provided by client.
Engine: NodeWebkit - chromium web-engine and node.js.

Features:
— Load items via REST API from real website
— Items slider with CSS3 'Wow!' 3D effects
— Caching of API request in RAM
— Caching of all items catalouge in RAM and autoupdating it
— Full cashing of images of items in ROM and autoupdating it
— Local instant filters for items (user select filter or typing and momentaly can see result)
— Full custom keyboard (developed specialy for this project)
— Handling any REST API errors
— Handling network connection errors and blocking application
— Handling internal errors and logging it
— Logginng some important events and sending it via email

~90% was develop and program in 3 weeks, in next 3 weeks was bugfixing and new features addition.
E153469684 23bf2f616a 70e5b9d20d 879b71dc2f D734c93ec5 13f45159ff D2f253ce90 1bb98c7d88 B93fd41d88 5a67106db8 7db01cfe5c 1ca95bb8b6 20b039b972