Таким образом программиста почти не реально нанять. Посмотрите на odoo например, там открытые исходники, комерческая поддержка и можно поискать людей которые туда уже контрибьютят.
Вы же не на локалке это будете хостить. Даже на время разработки лучше это пихать в docker, один сервис - один контейнер, и делать их stateless, чтобы при уаеличении нагрузки можно было несколько нод сервиса поднять.
iva2000, Основная проблема - радиус действия. Помните, что через тело радиоволны тяжело проходят, поэтому часто если антена с левой стороны и телефон слева от человека, расстояние может быть и метров десять, а если положить телефон в правый карман брюк - связь может теряться.
Сайт статический ? Подозреваю что нет, тогда почему быне делать это сразу на беке?
Ваше решение выглядит как трудно поддерживаемый костыль, который потом вылезет боком.
Заплатите денег чтобы вам это сделали. Из вашего кода вооще непонятно пояему она не должна работать. Возможно там посадили event listener и сделали preventDefault, а возможно в CSS pointer-events none задали
Я бы делал не так.
1) Для начала я бы нарисовал три варианта дизайна десктоп, планшет и телефон
при чем плашет вертикальный и не больше чем 800 на 600
Сам по себе дизайн под маленькие скрины перекроет потребность в больших паддингах и мержингах для пальцев
2) На больших экранах(например от 1280 на 600) я бы вывел свитч, который позволяет переключится на пальцевый интерфейс и увеличивает паддинги для удобного тыкания (состояние запоминаю в localStorage)
3) Если обнаруживаю тычки пальцами предлагаю пользлвателю переключиться на пальцевый интерфейс
В каком месте конвертировать нужно? Если на фронте, то как ты собрался с фронта на почту отпралвлять. Если на беке, то при чем тут яваскрипт?
Вдумчиво ТЗ поставь.
Сделать из base 64 ссылку на скачивание можно вот так