Данный проект представляет собой бэкенд на основе FastAPI
для управления финансовыми операциями.
Включает функционал для пользователей, счетов, категорий и транзакций.
Проект предполагает работу, как RESTful API
, так и многостраничного интерфейса с личным кабинетом и аналитикой.
- Личный кабинет: Возможность просмотра и управления своими финансами.
- Управление пользователями: Регистрация и аутентификация.
- Счета: Создание и управление счетами, учет балансов.
- Категории: Добавление категорий для классификации операций.
- Транзакции: Ведение доходов и расходов, связанные с конкретными счетами и категориями.
- Аналитика: Построение графиков и таблиц для анализа финансов.
financial_operations_project/
├── app/ # Основное приложение
│ ├── __init__.py # Инициализация приложения FastAPI
│ ├── config.py #
│ ├── crud.py #
│ ├── dependencies.py #
│ ├── schemas.py #
│ ├── utils.py #
│ ├── main.py # Точка входа в приложение
│ ├── models.py # SQLAlchemy-модели для базы данных
│ ├── routes/ # Маршруты приложения
│ │ ├── __init__.py # Инициализация маршрутов
│ │ ├── auth.py # Маршруты для аутентификации и регистрации пользователей
│ │ ├── accounts.py # Маршруты для работы со счетами пользователей
│ │ ├── categories.py # Маршруты для работы с категориями расходов и доходов
│ │ ├── transactions.py # Маршруты для работы с финансовыми транзакциями
│ │ ├── main.py #
│ │ └── analytics.py # Маршруты для аналитики и отчетов
│ └── templates/ # Шаблоны HTML для интерфейса
│ ├── base.html # Базовый шаблон
│ ├── dashboard.html # Панель управления (личный кабинет)
│ ├── login.html # Страница входа
│ ├── register.html # Страница регистрации
│ ├── account_details.html # Детализация счетов
│ ├── analytics.html # Страница аналитики
│ ├── index.html # Главная страница
│ └── transaction_list.html # Список транзакций
│
├── migrations/ # Миграции базы данных (если используется Alembic)
├── CONTRIBUTING.md #
├── financial_operations.db # Файл базы данных SQLite
├── README.md # Описание проекта, инструкция по установке и запуску
├── LICENCE #
├── requirements.txt # Список зависимостей Python
├── .env # Конфигурация приложения (секреты и настройки окружения)
└── run.py # Файл для запуска приложения
- POST
/users/
Создание нового пользователя.
- POST
/accounts/
Создание нового счета.
- POST
/categories/
Добавление новой категории.
- POST
/transactions/
Запись новой транзакции (доход или расход).
- Python 3.8+
- pip
-
Склонируйте репозиторий:
git clone <repository_url> cd financial_operations_project
-
Создайте виртуальное окружение:
python -m venv venv source venv/bin/activate # В Windows: venv\Scripts\activate
-
Установите зависимости:
pip install -r requirements.txt
-
Запустите приложение:
uvicorn main:app --reload
-
Доступ к API-документации:
- Swagger UI: http://127.0.0.1:8000/docs
- ReDoc: http://127.0.0.1:8000/redoc
-
Доступ к интерфейсу:
- Главная страница: http://127.0.0.1:8000
-
users
id
: Первичный ключusername
: Уникальное имя пользователяemail
: Уникальный адрес электронной почтыpassword_hash
: Захэшированный парольcreated_at
: Время создания
-
accounts
id
: Первичный ключuser_id
: Внешний ключ наusers
name
: Название счетаbalance
: Баланс счетаcreated_at
: Время создания
-
categories
id
: Первичный ключuser_id
: Внешний ключ наusers
name
: Название категорииcreated_at
: Время создания
-
transactions
id
: Первичный ключuser_id
: Внешний ключ наusers
account_id
: Внешний ключ наaccounts
category_id
: Внешний ключ наcategories
type
: Тип транзакции (доход
илирасход
)amount
: Сумма транзакцииdescription
: Описание (опционально)transaction_date
: Дата транзакции
uvicorn app.main:app --reload
Проект распространяется под лицензией MIT
Автор: Дуплей Максим Игоревич
TG: @quadd4rv1n7
Дата: 17.12.2024