All streams
Search
Write a publication
Pull to refresh
0
0
Евгений @zeond

devops, rust

Send message

Написал web-сервис чтобы помочь возрастным родителям отправлять показатели счётчиков в коммунальные службы.

Дисклеймер: в данном посте рассмотрен мой личный опыт, опыт моих близких для которых данное решение работает в текущий период времени. Выбор стэка для реализации мои личные предпочтения, это pet-проект, делаю что хочу ;)

Мои родители в возрасте, они пользуются интернетом, но некоторые технологии даются очень тяжело. В тоже время, ряд (провинциальных) коммунальных компаний принимают показания счётчиков только по почте. Нет приложений, вэб-сайтов чтобы их отправить. Счётчики олдскульные и менять не планируют. И давно уже хотелось попробовать axum после многих лет с actix ;)

В итоге я написал крохотный web-сервис, который предоставляет собой web-интерфейс с минимумом телодвижений. Выбираешь адрес из списка, счётчик и указываешь значение. Автоматически подставляется предыдущий месяц как период оплаты, но можно выбрать другой. Жмёшь "Отправить" и письмо в нужном формате улетает по нужному адресу. Копия письма улетает моим родителям.

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

Перед отправкой можно посмотреть как будет выглядеть итоговое письмо.

Конфигурация приложения позволяет поменять любые надписи в интерфейсе.

Коротко про стэк: rust, axum, config (конфигурация через yaml), terra (шаблонизатор), для фронта взят svelte (love.jpg)

Спасибо за внимание :)

Код и скриншоты проекта

Tags:
Total votes 5: ↑5 and ↓0+7
Comments7

Написал web-сервис для безопасного обмена секретами - PW

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

Одно из решений - использовать промежуточный сервис с шифрованием на клиенте. Пользователь кидает чувствительную инфу в форму, указывает время жизни ссылки (1ч, 2ч, 1д, также может сделать ссылку её одноразовой). Получает ссылку на выходе и отправляет её адресату.

Основные фичи:

  1. Шифрование на стороне браузера (AES 256 GCM), ключ зашивается в итоговый URL

  2. На бэкенде (redis в in-memory режиме) секреты хранятся только в зашифрованном виде

  3. Ссылки имеют ограниченное время жизни: 1 час, 2 часа, 1 день; ссылка может быть одноразовой

  4. Возможность локализации, не зашито в коде. Из коробки: русский, английский, испанский

Демка: https://pw-ru.tinyops.ru

Код: https://github.com/lebe-dev/pw

Tags:
Total votes 3: ↑3 and ↓0+3
Comments3

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity