Files
FileAudioAPI/START.md
T

185 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 в репозитории.