Skip to content

tracie-lorette/MoneyFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoneyFlow — Система управления движением денежных средств

Веб-приложение для учета и управления финансовыми операциями с интуитивно понятным интерфейсом на HTML + JS + Django Templates и кастомным CSS, реализованном на Python Django.

Возможности

  • Полное управление записями ДДС: создание, просмотр, редактирование, удаление
  • Расширяемые справочники: статусы, типы операций, категории и подкатегории
  • Умная фильтрация: по дате, статусу, типу, категориям
  • Логические зависимости: автоматическая фильтрация подкатегорий по категориям
  • Валидация данных: на стороне клиента и сервера

Технологический стек

  • Backend: Python 3.10+, Django 4.2+
  • Database: SQLite
  • Frontend: Django Templates, кастомный CSS, HTML, JavaScript
  • Аутентификация: Django built-in auth system

Структура проекта

MoneyFlow/
├── dds/                          # Основное приложение
│   ├── migrations/               # Миграции базы данных (тестовые, можно удалить или добавить в .gitignore)
│   │   ├── 0001_initial.py
│   │   └── __init__.py
│   ├── static/dds/               # Статические файлы
│   │   ├── css/                  # Кастомные стили
│   │   └── js/                   # JavaScript файлы
│   ├── templates/dds/            # Шаблоны Django
│   │   ├── base.html             # Базовый шаблон
│   │   ├── directories.html      # Управление справочниками
│   │   ├── index.html            # Главная страница
│   │   └── record_form.html      # Форма записи
│   ├── __init__.py
│   ├── admin.py                  # Админ-панель
│   ├── models.py                 # Модели данных
│   ├── urls.py                   # URL маршруты
│   └── views.py                  # Представления
├── moneyflow/                    # Настройки проекта
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py               # Основные настройки
│   ├── urls.py                   # Корневые URL
│   └── wsgi.py
├── manage.py
├── moneyflow_database.sqlite3    # База данных (тестовая, можно удалить или добавить в .gitignore)
├── README.md
└── start_server.sh               # Скрипт запуска

Быстрый запуск

Предварительные требования

  • Python 3.10 или выше
  • Установленный Django
  • shell/bash (опционально)

Установка Django

pip install Django>=4.2

chmod +x start_server.sh ./start_server.sh

Скрипт автоматически выполнит:

  • Остановку предыдущего сервера
  • Очистку базы данных
  • Создание и применение миграций
  • Создание администратора (логин: admin, пароль: admin)
  • Добавление тестовых данных
  • Запуск сервера на http://127.0.0.1:8000
  • Автоматическое открытие браузера

Доступ к системе

После запуска приложение доступно по адресу: http://127.0.0.1:8000

Тестовый аккаунт (Создается автоматически):

  • Логин: admin
  • Пароль: admin

Основные страницы

Главная страница

Таблица всех финансовых записей Фильтры по дате, статусу, типу, категориям Статистика и обзор операций

Форма записи

  • Создание и редактирование финансовых операций
  • Умные выпадающие списки с зависимостями
  • Валидация обязательных полей

Управление справочниками

  • Добавление/редактирование статусов, типов операций
  • Управление категориями и подкатегориями

Логические зависимости

  • Категории → Типы операций: Каждая категория привязана к определенному типу
  • Подкатегории → Категории: Подкатегории наследуют тип от родительской категории
  • Динамические фильтры: Подкатегории автоматически фильтруются при выборе категории

Бизнес-правила

  • Обязательные поля: сумма, тип, категория, подкатегория
  • Двойная валидация (клиентская + серверная)

Тестовые данные

Система автоматически создает: Типы операций: "Списание", "Пополнение" Статусы: "Бизнес", "Личное" Категории: "Маркетинг", "Доходы" Подкатегории: "Google Ads", "Avito", "Продажи" Примеры финансовых записей

Ручной запуск

  • Остановка сервера (если запущен) fuser -k 8000/tcp
  • Очистка базы данных rm -f moneyflow_database.sqlite3
  • Миграции python manage.py makemigrations python manage.py migrate
  • Создание суперпользователя python manage.py createsuperuser
  • Запуск сервера python manage.py runserver 8000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors