You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.5 KiB
4.5 KiB
FileAudioAPI - Quick Start Guide
🚀 Быстрый старт
Вариант 1: Запуск с Docker (рекомендуется)
# Клонировать репозиторий
cd /Users/petr/SpeechAnalytics/FileAudioAPI
# Запуск с Docker Compose
make up
# Или вручную
docker-compose up -d
Приложение будет доступно по адресу: http://localhost:8000
API документация:
- 📚 Swagger UI: http://localhost:8000/api/v1/docs
- 📖 ReDoc: http://localhost:8000/api/v1/redoc
Вариант 2: Локальный запуск
# 1. Установить зависимости
make install
# или
pip3 install -r requirements.txt
# 2. Создать базу данных
make db-migrate
# 3. Запустить приложение
make dev
# или
python3 run.py
📋 Makefile команды
make help # Показать все доступные команды
make build # Собрать Docker образ
make up # Запустить контейнеры
make down # Остановить контейнеры
make logs # Просмотр логов
make shell # Открыть shell в контейнере
make clean # Очистка контейнеров и volumes
🔧 Полная документация
- FastAPI API Guide - Документация API
- Docker Deployment - Docker развертывание
📁 Структура проекта
FileAudioAPI/
├── apiApp/
│ ├── schemas/ # Pydantic модели валидации
│ ├── services/ # Business logic (CRUD)
│ ├── routers/ # API endpoints
│ ├── database/ # SQLAlchemy модели
│ ├── dbApi/ # Legacy совместимость
│ ├── config.py # Конфигурация
│ └── database.py # SQLAlchemy настройка
├── main.py # FastAPI приложение
├── Dockerfile # Docker образ
├── docker-compose.yml # Docker Compose конфиг
├── Makefile # Управление проектом
└── requirements.txt # Зависимости
🎯 Основные endpoints
Загрузка файла
curl -X POST http://localhost:8000/api/v1/upload \
-F "file=@audio.mp3"
Список файлов
curl http://localhost:8000/api/v1/audio/list
Запуск распознавания
curl -X POST http://localhost:8000/api/v1/recognize/{audio_id}
Статус распознавания
curl http://localhost:8000/api/v1/recognize/{audio_id}
🛠️ Разработка
Локальный запуск с автоперезагрузкой
python3 run.py
# или
make dev
Запуск тестов
make test
Форматирование кода
make format
Линтер
make lint
🐛 Troubleshooting
Проблема: Module not found
# Переустановить зависимости
pip3 install -r requirements.txt
Проблема: Database error
# Пересоздать базу данных
make clean
make db-migrate
make up
Проблема: Port already in use
# Изменить порт в docker-compose.yml
# или в main.py
📝 Environment переменные
Скопируйте .env.example в .env и настройте:
cp .env.example .env
Доступные переменные:
DATABASE_URL- URL базы данныхMAX_UPLOAD_SIZE- Макс. размер загрузкиAPP_TITLE- Название приложенияAPP_VERSION- Версия приложения
🔒 Безопасность
Для production:
- Измените
CORSorigins вmain.py - Настройте
DATABASE_URLна PostgreSQL - Используйте Redis для хранения статусов задач
- Добавьте аутентификацию
- Настройте SSL/HTTPS
📊 Мониторинг
# Health check
curl http://localhost:8000/health
# Docker stats
docker stats file-audio-api
# Логи
make logs
🤝 Поддержка
Для вопросов и предложений создайте issue в репозитории.