Современная платформа для управления личными финансами с открытым исходным кодом
- Веб-приложение: https://finance-hub.app
- GitHub: https://github.com/n1k1ta42/finance-hub
- Docker Hub: https://hub.docker.com/u/финансхаб
- Телеграм-канал: https://t.me/financehub_app
- Чат пользователей: @financehub_app_chat
- Telegram-бот: @Finance_hub_app_bot
- Автор: @financehub_app
Finance Hub — это полнофункциональное приложение для управления личными финансами, которое помогает пользователям контролировать свои доходы и расходы, планировать бюджет, анализировать финансовые привычки и достигать финансовых целей. Созданное с использованием современных технологий, приложение предоставляет понятный интерфейс и богатый функционал для управления финансами.
-
Авторизация и управление аккаунтом:
- Безопасная система регистрации и входа
- Восстановление пароля
- Управление профилем пользователя
- История входов для безопасности
-
Отслеживание транзакций:
- Добавление, редактирование и удаление доходов и расходов
- Детальное описание и категоризация
- Удобная фильтрация и поиск
- Массовое добавление транзакций
- Создание транзакций через Telegram-бот
- Регулярные платежи (Premium/Pro): автоматическое создание повторяющихся транзакций с настраиваемой частотой
-
Telegram-бот для создания транзакций:
- Быстрое добавление транзакций прямо из мессенджера
- Удобный выбор категорий через интерактивные кнопки
- Простая привязка бота к аккаунту через ID в профиле
- Доступ к Telegram-боту: @Finance_hub_app_bot
-
Регулярные платежи (Premium и Pro):
- Автоматическое создание повторяющихся транзакций
- Поддержка различных частот: ежедневно, еженедельно, ежемесячно, ежегодно
- Настройка даты начала и окончания действия правила
- Возможность создания бессрочных регулярных платежей
- Управление активностью правил без удаления
- Автоматическая обработка в фоновом режиме каждый час
- Полный контроль: редактирование, приостановка, удаление правил
-
Бюджетирование:
- Создание и управление бюджетами по категориям
- Поддержка различных периодов (еженедельно, ежемесячно, ежегодно)
- Отслеживание прогресса и оставшихся средств
- Уведомления о превышении бюджета
-
Детальная статистика:
- Визуализация финансовых данных с помощью интерактивных графиков
- Анализ расходов и доходов по категориям
- Динамика баланса за выбранный период
- Экспорт статистики в PDF (Premium и Pro подписки)
-
Категории:
- Настраиваемые категории доходов и расходов
- Назначение цветов и иконок для визуального различия
- Иерархическая структура категорий
- Анализ и сравнение по категориям
-
Проекты и накопления:
- Создание и управление финансовыми проектами
- Отслеживание прогресса накоплений на цели
- Различные типы проектов (накопления, кредиты, депозиты)
- История платежей и пополнений
- Визуализация прогресса достижения целей
-
Инвестиции:
- Управление инвестиционным портфелем
- Отслеживание различных типов инвестиций (акции, облигации, криптовалюта)
- Расчет доходности и прибыли/убытка
- История операций и капитализации
- Аналитика по инвестиционным инструментам
-
Подписки:
- Система уровней доступа (Basic, Premium, Pro)
- Разные периоды подписки (месячная, годовая, пожизненная)
- Разграничение функционала по уровням подписки
- Управление оплатами и счетами
-
Уведомления и оповещения:
- Системные уведомления о важных событиях
- Напоминания о платежах и бюджетах
- Управление настройками оповещений
- Оповещения в интерфейсе приложения
-
Платежи:
- Отслеживание регулярных платежей
- История всех платежей
- Управление способами оплаты
- Контроль статуса платежей
-
Поддержка пользователей:
- Встроенная система обратной связи
- Отзывы и предложения по улучшению
- Приоритетная поддержка для Pro-пользователей
-
Адаптивный дизайн:
- Работает на всех устройствах - от мобильных до десктопных
- Интуитивно понятный интерфейс
- Поддержка тёмной темы
- React 19 с TypeScript 5
- TanStack Router для маршрутизации
- TanStack Form для управления формами
- TanStack Query для работы с данными и кэширования
- TanStack Table для работы с таблицами
- Tailwind CSS и shadcn/ui для стилизации
- Recharts для построения графиков и диаграмм
- Lucide для иконок
- date-fns для работы с датами
- React Hook Form и zod для валидации форм
- axios для выполнения HTTP-запросов
- Go с фреймворком Fiber
- GORM для работы с базой данных
- JWT для аутентификации
- PostgreSQL для хранения данных
- Air для горячей перезагрузки в разработке
- Telegram Bot API для интеграции с мессенджером
- Docker и docker-compose для контейнеризации
- Nginx в качестве веб-сервера
- Vite для сборки фронтенда
- GitHub Actions для CI/CD:
- Автоматическое тестирование и линтинг при Pull Request
- Непрерывная интеграция и деплой при пуше в основную ветку
- Сборка Docker-образов и публикация на Docker Hub
- Автоматический деплой на VPS
- Регулярное обслуживание и мониторинг сервера
- Node.js 18+
- Go 1.18+
- PostgreSQL
- Docker и docker-compose (опционально)
- Клонируйте репозиторий:
git clone https://github.com/n1k1ta42/finance-hub.git
cd finance-hub
- Настройка и запуск бэкенда:
cd backend
go mod download
cp env.example .env # Настройте переменные окружения
go run main.go
Или с использованием Air для горячей перезагрузки:
air
- Настройка и запуск фронтенда:
cd web
yarn install
cp env.example .env # Настройте переменные окружения
yarn dev
- Запуск с использованием Docker:
docker-compose up -d
- Или загрузка и запуск готовых образов с Docker Hub:
docker-compose pull
docker-compose up -d
- Откройте браузер и перейдите по адресу
http://localhost:3001
Проект настроен для автоматического деплоя на VPS с помощью GitHub Actions:
- При пуше в ветки main или master автоматически собираются Docker-образы и публикуются в Docker Hub
- После успешной публикации образов автоматически запускается деплой на VPS
- На VPS выполняется скачивание новых образов и перезапуск контейнеров
Для настройки автоматического деплоя необходимо добавить следующие секреты в репозиторий:
VPS_HOST
- IP-адрес или доменное имя VPSVPS_USERNAME
- имя пользователя для SSH-доступаVPS_SSH_KEY
- приватный SSH-ключVPS_PORT
- порт SSH (опционально)
Подробные инструкции по настройке автоматического деплоя можно найти в .github/README.md.
Для использования Telegram-бота выполните следующие шаги:
- Найдите бота @Finance_hub_app_bot в Telegram
- Отправьте команду
/start
- Получите ваш уникальный ID чата
- Добавьте этот ID в разделе "Профиль" в веб-приложении
- Теперь вы можете создавать транзакции прямо из Telegram, используя удобные кнопки или команду
/add
Для развертывания приложения на собственном сервере мы подготовили подробную инструкцию:
Эта документация содержит:
- Системные требования для различных сценариев использования
- Настройку базовой системы
- Установку Docker и Docker Compose
- Настройку Firewall и безопасности
- Подключение доменного имени
- Настройку SSL-сертификатов
- Конфигурацию CI/CD с использованием GitHub Actions
Для production-окружения рекомендуется:
- CPU: 4+ vCPU
- RAM: 4+ ГБ
- Диск: 40+ ГБ SSD
- ОС: Debian 11+
Finance Hub уделяет особое внимание безопасности пользовательских данных:
- Шифрование критически важных данных
- Безопасное хранение паролей (bcrypt)
- JWT-аутентификация с перезагрузкой токенов
- Защита от основных уязвимос A099 ей (CSRF, XSS, SQL-инъекции)
- Отслеживание истории авторизации
- Возможность сбросить пароль и защитить аккаунт
Finance Hub предлагает три уровня подписки:
- До 5 категорий
- До 100 транзакций
- Базовая статистика
- Неограниченное количество категорий
- До 1000 транзакций
- Расширенная статистика
- Бюджетирование
- Цена: 199.99₽/месяц или 1799.99₽/год или 3599.99₽ пожизненно
- Неограниченное количество категорий
- Неограниченное количество транзакций
- Расширенная статистика
- Бюджетирование
- Экспорт данных
- Приоритетная поддержка
- Цена: 999.99₽/месяц или 8999.99₽/год или 17999.99₽ пожизненно
Важно: В настоящий момент функционал подписок работает в тестовом режиме. Вы можете протестировать любой план без реального списания средств. В будущем мы планируем запустить полноценную систему платных подписок для финансирования проекта без рекламы.
Для запуска тестов используйте следующие команды:
cd backend
go test ./...
cd web
yarn test
yarn e2e
Мы приветствуем вклады от сообщества! Если вы хотите внести свой вклад в проект:
- Форкните репозиторий
- Создайте ветку для вашей функции (
git checkout -b feature/amazing-feature
) - Зафиксируйте изменения (
git commit -m 'feat: добавлена новая функция'
) - Отправьте в свой форк (
git push origin feature/amazing-feature
) - Откройте Pull Request
Пожалуйста, ознакомьтесь с нашим руководством по вкладу для получения дополнительной информации.
- Интеграция с банковскими API для автоматического импорта транзакций
- Мобильные приложения для iOS и Android
- Поддержка нескольких валют и конвертация
- Финансовые цели и отслеживание сбережений
- Расширенные отчеты и прогнозирование
- Поддержка мультиязычности
Этот проект распространяется под лицензией MIT. См. файл LICENSE для получения дополнительной информации.
- Автор: Никита Горчаков
- Email: nikitagor456@yandex.ru
- Telegram: @financehub_app
Сделано с ❤️ в России