FinVision – это простое и удобное веб-приложение, которое помогает пользователям контролировать свои доходы и расходы. Следите за финансами, организуйте свои записи и анализируйте расходы с помощью наглядной статистики. 📈📉 💹
Демо версия: http://194.87.151.189:8000 (скрины ниже)
- Регистрация и вход: Защищенный доступ для хранения данных в безопасности. 🛡️
- Добавление записей: Создание записей о доходах и расходах с указанием:
- Суммы 💲 💸
- Категории (например, «Продукты», «Транспорт», «Развлечения») 🛒 🚗 🎮
- Даты 🗓️ ⏰
- Редактирование/Удаление: Легкое изменение или удаление записей. ✏️ 🗑️
- Автоматическое определение банка: Система автоматически определяет банк по номеру карты 🏦
- Календарь транзакций: Удобный календарь с возможностью просмотра транзакций по дням 📅
- Курсы валют: Актуальные курсы основных валют с автоматическим обновлением 💱
- Умная сортировка: Гибкая система фильтрации и сортировки всех транзакций 🔄
- Финансовый консультант: Чат-бот на основе ИИ для персональных финансовых рекомендаций
- Анализ расходов: Умный анализ ваших трат и предложения по оптимизации
- Финансовые стратегии: Персонализированные стратегии накопления и инвестирования
- Интерактивные графики: Динамические графики доходов и расходов
- Круговые диаграммы: Наглядное отображение распределения трат по категориям
- Прогнозирование: Умное прогнозирование будущих расходов на основе истории
- Тепловые карты: Визуализация интенсивности трат по дням и категориям
- Список транзакций: Полный список ваших записей. 📝
- Фильтры: Поиск записей по дате или категории для удобной навигации. 🔍
- Сводка доходов и расходов: Общая сумма за выбранный период. 💹
- Распределение по категориям: Наглядные диаграммы или таблицы для анализа. 🥧 📊 📉
- Добавление кредитов: Создание записей о кредитах 💰
- Редактирование/Удаление: Изменение или удаление кредитных записей 📝
- Фреймворк: React.js ⚛️
- Функционал: 🎯
- Интуитивно понятный интерфейс. 🖥️
- Удобные формы для ввода и редактирования данных. ⌨️
- Динамические таблицы и диаграммы. 📊
- Фреймворк: FastAPI 🐍
- База данных: Postgres + SQLAlchemy ORM 🗄️
- Хеширование: SHA-256 для безопасного хранения данных 🔒
POST /users/sign_in– Регистрация нового пользователя 📝POST /users/login– Вход в систему 🔑POST /users/logout– Выход из системы 🚪POST /users/logout_all– Выход из всех сессий 🔐GET /users/check_session– Проверка активности сессии ✅GET /users/sessions_count– Получение количества активных сессий 🔢GET /users/profile– Получение информации о профиле 👤PUT /users/update– Обновление данных пользователя ✏️
GET /users/export/all_transactions– Экспорт всех транзакций 📊
POST /targets/– Создание новой цели ➕PUT /targets/{target_id}– Изменение существующей цели ✏️DELETE /targets/{target_id}– Удаление цели ❌
POST /transactions/– Создание новой транзакции ➕PUT /transactions/{transaction_id}– Изменение существующей транзакции ✏️DELETE /transactions/{transaction_id}– Удаление транзакции ❌
POST /credits/– Создание нового кредита ➕PUT /credits/{credit_id}– Изменение существующего кредита ✏️DELETE /credits/{credit_id}– Удаление кредита ❌
- Python: Убедитесь, что Python 3.8+ установлен на вашем компьютере. 🐍
- PostgreSQL/Sqlite: База данных PostgreSQL или Sqlite для локального запуска. 🗄️
- Nginx: Веб-сервер Nginx для продакшн-окружения. 🌐
- Клонируйте репозиторий:
git clone https://github.com/your-repo/personal-finance-tracker.git cd personal-finance-tracker - Создайте и активируйте виртуальное окружение:
python -m venv venv source venv/bin/activate # для Linux/Mac venv\Scripts\activate # для Windows
- Установите зависимости:
pip install -r requirements.txt
- Примените миграции:
python manage.py migrate
- Запустите сервер разработки:
python manage.py runserver
- Откройте приложение в браузере по адресу
http://localhost:8000. 🌍
- Установите Uvicorn:
pip install uvicorn
- Запустите приложение через Uvicorn:
uvicorn config.asgi:application --host 0.0.0.0 --port 8000 --workers 4
-
Установите и настройте Nginx:
sudo apt update sudo apt install nginx
-
Создайте конфигурационный файл:
sudo nano /etc/nginx/sites-available/finvision
-
Добавьте базовую конфигурацию:
server { listen 80; server_name your-domain.com; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /static/ { alias /path/to/your/static/; } location /media/ { alias /path/to/your/media/; } }
-
Создайте символическую ссылку:
sudo ln -s /etc/nginx/sites-available/finvision /etc/nginx/sites-enabled
-
Проверьте конфигурацию и перезапустите Nginx:
sudo nginx -t sudo systemctl restart nginx
Этот проект распространяется по лицензии MIT. Подробности в файле LICENSE. 📄
Начните управлять своими финансами уже сегодня! 🌟 💫 ✨ 💰

