*маленькое невинное хобби

Ленивый бюджет

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

егориям. В целом ничего суперсложного — я сам несколько лет пользовался подобной программой ещё на наладоннике. Никаких проблем с этим нет, пока счетов не слишком много и ты один, кто тратит и приносит в бюджет деньги, но для семейного бюджета это уже не подходит. Плюс приходится заносить туда вообще всё, считая каждую копейку, иначе цифры по остаткам на счетах перестают совпадать с реальными и нужно делать какие-то корректировки.

В реальности же (лично моей реальности, разумеется), куда логичнее с некоторой периодичностью просто сохранять состояния счетов и иметь приблизительный обзор текущего баланса и его динамики. Точность до копейки совершенно не важна — допустим, у меня осталась бумажка в 100 евро после предыдущего отпуска. Если я хочу знать свои доступные средства в рублях, то стоимость этой бумажки будет зависеть от текущего курса банка, в котором я её буду менять и абсолютной точности достигнуть не получится.

Последние несколько месяцев свой «ленивый» бюджет я вёл в обычной ексельной таблице. В первом столбце дата, в остальных — текущие значения по счетам. Отдельные ячейки для текущих курсов и столбец для суммы. Но пару недель назад возникла необходимость добавить ещё один счёт и мозг остановился — таблица стала слишком сложна.

К счастью, не всё так ужасно под солнцем этого мира. Потратив в выходные всего несколько часов и используя готовые модули из разных проектов получилось собрать простую и удобную системку для ведения «ленивого» бюджета:

Цифры взяты "с потолка" для тестирования

Возможности минимальны — список счетов в разных валютах, возможность добавлять остаток по счёту на конкретную дату. Можно с примечаниями («получил зарплату», «купили пылесос»). Для пластиковых карт можно задать кредитный лимит, тогда в общей сумме добавится строчка, сколько денег доступно без залезания в долги. В настройках можно выбрать валюту, в которую пересчитывается общая сумма. Актуальные курсы валют ежедневно скачиваются с themoneyconverter.com.

На главной странице можно оценить имеющиеся на текущий момент денежные средства и динамику их состояния (с учётом упомянутой неточности и ленивости).

Паттерн использования получился идеальным по простоте — в любой момент ввести актуальные данные по счетам и тут же получить результат. Можно каждый день, можно раз в месяц. Удобнее, чем табличка в екселе. Проще, чем системы, ориентированные на транзакции. Подходит для семейного бюджета. То, что надо!

Сделано на базе Zend Framework, шаблона Adminique и готовых модулей из разных проектов. Времени на всё ушло около пяти часов.

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

Comments: Комментарии отключены

LESS.js — таблицы стилей без бардака

Вчера встретил статью про язык расширения каскадных таблиц стилей — LESS — ну и, разумеется, попробовал применить его в текущем проекте. Результат меня не просто обрадовал, а привёл в дичайший восторг. В современном CSS мне очень не хватало следующих вещей:

1. Определения констант для цветов. Во многих проектах дизайн делается в одной палитре и её достаточно задать один раз в начале таблицы стилей. Опять же, существенно упрощается изготовление различных цветовых схем для сайта. Тут всё это есть:

 (далее...)

Comments: 2 комментариев

Zend Framework: боковое меню

Zend Framework предоставляет весьма удобный и простой способ управления навигацией на сайте. Вся структура прописывается в конфигурационном файле, а отображение реализуется стандартными способами, причём с поддержкой прав доступа и многоязычности.

Однако, на многих сайтах необходимо разделить меню на верхнее и боковое:

 (далее...)

Comments: Комментарии отключены