# API «Цифровое студенческое портфолио»

Базовый URL приложения (локально): `http://127.0.0.1:8000`  
На сервере подставьте свой хост, например `http://95.104.225.67:8000`.

## Документация OpenAPI (интерактивно)

| Что | Адрес |
|-----|--------|
| Схема OpenAPI (YAML/JSON) | `/api/schema/` |
| **Swagger UI** | `/api/docs/swagger/` |
| **ReDoc** | `/api/docs/redoc/` |

Откройте в браузере, например:  
`http://127.0.0.1:8000/api/docs/swagger/`

## Аутентификация (JWT)

Большинство методов требуют заголовок:

```http
Authorization: Bearer <access_token>
```

Получение токена:

- `POST /api/auth/login/` — тело JSON: `{"email": "...", "password": "..."}`
- `POST /api/auth/refresh/` — `{"refresh": "..."}`
- `POST /api/auth/logout/` — `{"refresh": "..."}`

## Основные группы эндпоинтов

- `/api/auth/` — регистрация, вход, сброс пароля  
- `/api/profile/` — профиль и CRUD (education, experiences, projects, skills, achievements)  
- `/api/resume/` — анализ вакансии, превью, генерация, история, экспорт PDF/HTML/DOCX  
- `/api/templates/` — шаблоны резюме  
- `/api/admin/` — список студентов, подтверждение, статистика  

## Быстрая проверка из консоли

```bash
curl -s http://127.0.0.1:8000/api/schema/ | head
```

Список маршрутов — в `portfolio_system/urls.py`.

## Тесты (`manage.py test`)

Нужны те же переменные MySQL, что и для работы приложения. Если хостинг не даёт создавать БД `test_*`, создайте пустую БД вручную и задайте в `.env` переменную `MYSQL_TEST_DATABASE` (см. `.env.example`).
