8000 GitHub - vetermanve/verse_profit: Goals and Means site
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

vetermanve/verse_profit

Repository files navigation

Goals and Means

Сайт для учета расходов и доходов.

Написан на Verse Framework (php)

Текущие задачи

  • Аваторизация
  • Заведение аккаунта друга
  • Бюджеты
  • Планы
  • Счета
  • Транзакции
  • Проводки
  • Редактирование данных пользователя
  • Добавление ника в профиль пользователя
  • Добавление пользователей в друзья с поиском по нику
  • Часовой пояс для пользователя для корректного отображения дат. (пока в профиле)
  • Отображение транзакций в календаре вместе с планами.
  • Написание плана по итерациям
  • Редактирование плана - все поля + счет с какого, счет на какой.
  • Сделать отдельную страницу дня в календаре
  • Прикрепление пользователя к транзакции
  • Публичная страница пользователя
  • Редактирование типа счета
  • Отдельная страница транзакции + редактирование транзакций - название и дата.
  • Добавление друзей в бюджет
  • Работа со статическими файлами и аватарки пользователей
  • Событийная модель для отправки нотофикаций
  • Отображение транзакций списком c группировкой по дню
  • Работа с геопозицией и датами для предсказания транзакции
  • Дефолтные счета для планов
  • Трекинг почасовой работы
  • Примерка историй на бюджет
  • Telegram bot
  • Объединение бюджетов
  • Автозаведение бюджета "личный" и счета "личный" после регистрации

Планируеме итерации

Итерация 0 - Авторизация и регистрация

  • Зарегистрироваться
    • Зарегистрироваться введя
      • Почту
      • Имя пользователя
      • Пароль
    • Получить приветсвенное почтовое сообщение о регистрации
    • Подтвердить почту ссылкой из сообщения в почте
  • Разлогиниться
  • Авторизоваться
    • Испольюзуя почту и пароль указанные при регистрации
  • Восстановить пароль
    • Получить ссылку c автоголином на почту
    • Задать новый пороль для почты после автологина

Итерация 1 - Планирование бюджета

  • Планировать бюджет внося планы в каледарь
    • Внесение плана на дату
    • Редактирование плана
      • Описание
      • Сумма
      • Дата
      • Текущий счет
      • Расходный
    • Расчет суммы расходов и доходов на каждый день в течении месяца
      • Расходом считается перевод с текущего счета на расходный
      • Доходом считается перевод с доходного счета на текущий
        • Доходным счетом является зарплатный счет.
    • Расчет состояния каждого текущего счета на каждый день
    • Расчет суммарного состояния текущих счетов на каждый день�

Итерация 2 - Внесение расходов в бюджет

  • Оперативное обновление информации о текущем состоянии счетов
    • Есть возможность внести любое движение средств между счетами
      • Есть возможно удалить движение
        • А потом восстановить его
      • Есть возможность изменить движение
        • Счета
        • Сумму
        • Описание
      • После изменения или удаления движения средств состояние всех связанных счетов обновляется.
    • Можно внести движение (транзакцию) в план
      • При внесении можно оставить галочку "Отметить план как выполненный" и план помечается как выполненный,
      • Так же можно руками изменить статус плану на "Отменен"
      • После того как план меняет статус с "Активен" на "Отменен" или "Выполнен", он перестает учитываться в расчете балансов по счетам, если в баланс была внесена транзакция - транзакция начинает считаться.
      • План является по сути шаблоном для транзакции.
      • В план можно внести несколько транзакций
  • В календаре отображаются планы и транзакции
    • Планы, статус которых не был обновлен начинают показываться в календаре красным.
    • При переходе к такому плану должна подсвечиваться его просроченность, при клике на нотификацию о просроченности - переходишь к редактированию плана с подсвеченным полем "дата".

Итерация 3 - Добавление друзей

  • У пользователя появляется поле Никнейм по которому его можно найти
    • Никнеймы доступны к редактированию в профиле
    • При регистрации никнейм автоматически генерируется из имени пользователя
    • Все никнеймы которые были у пользователя остаются за ним навсегда
  • Ссылка на профиль пользователя теперь - ссылка на его публичную старница, в ссылке - никнейм пользователя.
    • Пользователь может поделиться ссылкой.
    • Ссылку может открыть только авторизованный пользователь
    • Если пользователь не добавлен в друзья - отображается кнопка "добавить в друзья"
  • В меню появляется пункт "друзья" в котором отображаются все добавленные в друзья
    • Так же на странице друзей есть поле "Найти по никнейму", при поиске через никнейм, если пользователь найден - он отображется первым, сразу есть ссылока "добавить в друзья", так же есть возможность перейти в профиль пользователя.
  • Появляется цент нотификаций пользователя в котором появляется 1 событие - вас добавили в друзья.

Итерация 4 - Совместное управление бюджетом.

  • Cтраниа бюджетов
    • Карточка бюджет - отображается
      • Какое количество людей участвуют в бюджете
      • Кто является владельцем этого бюджета (тот кто создал бюджет)
    • Детальная страница бюджета на которой отображается.
      • Когда бюджет был создан
      • Кто владелец бюджета, со ссылкой на страницу автора
      • Список тех, кто участвует в бюджете, с уровнем доступа к бюджету
        • Дав уровня: Просмотр, Управление
      • Возможность добавить человека в бюджет из списка друзей
        • и задать ему уровень доступа.
  • Под каждой транзакцией начинает отображаться кто создал эту транзакцию.
    • Аватар, имя.
  • На детальной странице счета так же начинает отображаться
    • Кто создал этот счет
  • Права на бюджет распределяются так:
    • "Управление" - имеют возможность создавать счета и транзакции, редактировать любые объекты
    • "Просмотр" - имеют возможность просматривать любую информацию, но не редактировать
    • "Владелец" - Может все, что может "Управаление", но еще может добавлять людей в бюджет.

Итерация 5 - Лента событий на бюджет

  • Каждое событие в бюджете создает событие в ленте
    • При удалении объекта в бюджете удаляется и событие.
  • На каждом событии отображено имя и аватар, а так же
    • Финальное состояние счетов если это транзакции.
  • (?) Нотификации тоже падают в ленту.

Итерация 6 - Долговые и Балансовые счета.

  • Как вариант - балансовые счета это не счета вовсе
    • Балансом может быть "История".
    • Балансовая история выглядит так
      • Есть история, она состоит из
        • Идейнтификатора истории
        • Бюджет из которого
        • Бюджет в который
        • Название истории
        • Создатель истории
        • Счет истории для подсчета исходящих
        • Счет истории для подсчета входящих
    • Внутри истории можно создавать планы и транзакции к этим планам
    • Все транзакции которые входят в историю связываются с историей и с планом.

Объекты

(не очень актуальная информация)

Пользователь / User

Состояние: Готово.

id 
name
email
is_registered // todo

Бюджет / Budget

id 
name
descripition

Счет / Balance

id
name
name_official 
description
type - Наличные, Карта, Счет, Между Людьми 
balance_type - Текущий, Частный
budget_id - Принадлежность к бюджету
amount - текущее состояние 

Цель / Goal

id
name - имя цели
description - описание цели
amount - сумма цели
budget_id - принадлежность к бюджету
created_at - когда создана
creator_id - кто cоздал
for_users - массив пользователей, для кого
status - завершена ли цель.
priority - срочность
time_accurancy - важность срока 
severity - обязательность

Транзакция / Transaction

id
description - описание транзакции
belongs_type - к чему принадлежит (цель, отношение)
belongs_id - идентификатор сущности к которой принадлежит
type - Текущий, Частный
balance_from - Балнс с которого
balance_to - Баланс на который
send_confirmed - Отправка подтверждена
send_document - Документ подтвержадющий отпарвку
send_date - Дата отправки 
receive_confirmed - Получение подтвержено
receive_document - Докумнет подтвержающий получение
receive_date - Дата подтверждеия получения
created_date - Дата создания транзакции
status - состояние (создана, отправлена, подтверждена)
suggestion_id - в рамках какого плана.
amount - размер

План / Suggestion

Состояние: Готово

id
name - описание предложения
date - планируемая дата
amount - сколько
belongs_type - к чему принадлежит (цель, отношение)
belongs_id - идентификатор сущности к которой принадлежит

Отношение / Relation

Состояние: Готово

id
owner_user_id - кто создал отношение
related_user_id - к кому отношение 
description - описание
// buget_id - Принадлежность к бюджету // todo 

About

Goals and Means site

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  
0