Money-Splitter

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

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

Чтобы избавиться от необходимости это вручную считать, я создал свое простое приложение «Money Splitter«.

Результат
Результат

На картинке выше — получившееся приложение. У него есть всего 2 настройки:

  1. Помечать или нет новые строки в чеке как общие
  2. Количество знаков после запятой, для округления результатов расчетов

Можно добавлять новых пользователей, нажав на «+» в правом столбце. Лишних людей можно убрать, нажав на «-» возле имени. Для удобства, пользователям можно даже давать имена 😀 Можно добавлять новые товары/продукты, нажав на плюс в нижней строке. Лишние строки — тоже можно удалять.

В каждой строке есть поле для ввода суммы и переключатели напротив каждого пользователя. Если пользователь принимал участие в покупке этого товара, нужно в соответствующей ячейке это отметить. После отметки, все суммы автоматически пересчитываются.

Для удобства, в каждой строке я добавил 3 кнопки:

  1. Выбрать всех пользователей — помечает всех пользователей как участвующих в покупке соответствующего товара
  2. Сбросить выбор — товар помечается как никем не купленный
  3. Реверс — меняет участвующих и не участвующих в покупке товаров пользователей ролями

Исходники — свободно распространяемые. Если есть интересные идеи — жду их в комментариях здесь или в виде пулл-реквестов на гитхабе.

Поделиться:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.