Экспертные заключения: 0
Консультации: 0

EZ Print

EZ Print

EZ Print - это онлайн сервис для печати документов. С сервером сайта сервиса соединена сеть принтеров (реализована технология интернета вещей), на которых можно печатать документы. EZ Print - это как Uber, только для принтеров.

Проблема и её решение

У большинства иногородних и даже иностранных студентов, которые проживают в общежитиях, есть проблема – у них нет принтеров.

А порой для учебы нужно печатать много документов – это рефераты, конспекты, курсовые и т.д.

Чтобы распечатать, у студента есть два выхода:

  • Попросить знакомых распечатать документы. Это довольно проблематично, потому что:
    1. Не у всех есть знакомые с принтерами
    2. Не факт, что твои знакомые смогут или захотят тратить на тебя свое время и силы
  • Печатать в копировальных центрах. Здесь тоже есть проблемы:
    1. Копировальные центры не всегда находятся рядом. Приходится тратить время и силы на то, чтобы дойти до него
    2. Копи-центры не работают круглосуточно
    3. Главная проблема - это очень высокая стоимость печати, часто она слишком высока для обычных студентов

Автоматы печати EZ Print - решение проблемы дороговизны и удобства печати, потому что планируемая цена печати в несколько раз ниже, чем в копи-центрах, и точки печати планируется размещать в студенческих общежитиях для высокой доступности. Таким образом, автоматы печати EZ Print улучшат условия проживания студентов в общежитиях. Также, планируется устанавливать точки печати в кампусы университетов.

Как работает

Чтобы распечатать документы, клиент:

  • Заходит на сайт EZ Print
  • Выбирает принтер
  • Загружает документы для печати на сайт
  • Выбирает настройки печати
  • Оплачивает печать онлайн
  • Забирает напечатанные документы

Как реализовано

Сайт сервиса написан на языке программирования Python, в качестве веб-фреймворка используется Flask. В качестве БД используется база данных семейства SQL. Для взаимодействия с БД используется ОРМ SQLAlchemy. В качестве шаблонизатора используется Jinja2. Для работы сервера использовано множество прочих библиотек: zipfile, xml, PyPDF2, json, io, os и т.д. Взаимодействие с компьютером точки печати происходит при помощи реализованной технологии long-polling через написанный на сервере REST-API.

Каждая точка печати оснащена компьютером, который соединен с сервером (сайтом). Сервер управляет сетью точек печати, он отправляет документы для печати, дает команды на печать, обновляют информацию и т.д. Для печати компьютер точки печати использует библиотеки для взаимодействия с ОС Windows - это win32print и win32api. Для увеличения производительности печати, клиент работает в многопоточном режиме, реализован паттерн Producer-Consumer.

Ссылка

На страницу проекта

Направление

Другое

Сквозные технологии

Технологии беспроводной связи и «интернета вещей»