# FileAudioAPI - Quick Start Guide ## 🚀 Быстрый старт ### Вариант 1: Запуск с Docker (рекомендуется) ```bash # Клонировать репозиторий 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: Локальный запуск ```bash # 1. Установить зависимости make install # или pip3 install -r requirements.txt # 2. Создать базу данных make db-migrate # 3. Запустить приложение make dev # или python3 run.py ``` ## 📋 Makefile команды ```bash make help # Показать все доступные команды make build # Собрать Docker образ make up # Запустить контейнеры make down # Остановить контейнеры make logs # Просмотр логов make shell # Открыть shell в контейнере make clean # Очистка контейнеров и volumes ``` ## 🔧 Полная документация - [FastAPI API Guide](README_FASTAPI.md) - Документация API - [Docker Deployment](README_DOCKER.md) - 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 ### Загрузка файла ```bash curl -X POST http://localhost:8000/api/v1/upload \ -F "file=@audio.mp3" ``` ### Список файлов ```bash curl http://localhost:8000/api/v1/audio/list ``` ### Запуск распознавания ```bash curl -X POST http://localhost:8000/api/v1/recognize/{audio_id} ``` ### Статус распознавания ```bash curl http://localhost:8000/api/v1/recognize/{audio_id} ``` ## 🛠️ Разработка ### Локальный запуск с автоперезагрузкой ```bash python3 run.py # или make dev ``` ### Запуск тестов ```bash make test ``` ### Форматирование кода ```bash make format ``` ### Линтер ```bash make lint ``` ## 🐛 Troubleshooting ### Проблема: Module not found ```bash # Переустановить зависимости pip3 install -r requirements.txt ``` ### Проблема: Database error ```bash # Пересоздать базу данных make clean make db-migrate make up ``` ### Проблема: Port already in use ```bash # Изменить порт в docker-compose.yml # или в main.py ``` ## 📝 Environment переменные Скопируйте `.env.example` в `.env` и настройте: ```bash cp .env.example .env ``` Доступные переменные: - `DATABASE_URL` - URL базы данных - `MAX_UPLOAD_SIZE` - Макс. размер загрузки - `APP_TITLE` - Название приложения - `APP_VERSION` - Версия приложения ## 🔒 Безопасность Для production: 1. Измените `CORS` origins в `main.py` 2. Настройте `DATABASE_URL` на PostgreSQL 3. Используйте Redis для хранения статусов задач 4. Добавьте аутентификацию 5. Настройте SSL/HTTPS ## 📊 Мониторинг ```bash # Health check curl http://localhost:8000/health # Docker stats docker stats file-audio-api # Логи make logs ``` ## 🤝 Поддержка Для вопросов и предложений создайте issue в репозитории.