All checks were successful
continuous-integration/drone/push Build is passing
Changes: - Fix nutrition service: add is_active column and Pydantic validation for UUID/datetime - Add location-based alerts feature: users can now see alerts within 1km radius - Fix CORS and response serialization in nutrition service - Add getCurrentLocation() and loadAlertsNearby() functions - Improve UI for nearby alerts display with distance and response count
7.1 KiB
7.1 KiB
🎨 Фронтенд для тестирования API
Простой, но функциональный веб-интерфейс для тестирования всех ендпоинтов Women's Safety App API.
🚀 Запуск
Способ 1: Использование скрипта
bash run_frontend.sh
Способ 2: Прямой запуск Python сервера
cd /home/trevor/dev/chat
python3 -m http.server 8888 --bind 127.0.0.1
📖 Использование
-
Откройте браузер и перейдите на: http://localhost:8888/frontend_test.html
-
Зарегистрируйтесь или войдите:
- Используйте вкладку "Регистрация" для создания новой учётной записи
- Используйте вкладку "Вход" для входа с существующей учётной записью
- После входа вы получите JWT токен
-
Протестируйте API:
- 👤 Пользователи: управление профилем и просмотр пользователей
- 🚨 Алерты: создание и просмотр экстренных алертов
- 📅 Календарь: добавление и просмотр событий календаря
- 🔔 Уведомления: отправка уведомлений
- ❤️ Health: проверка статуса всех сервисов
🎯 Основные возможности
🔐 Аутентификация
- ✅ Регистрация новых пользователей
- ✅ Вход в систему с получением JWT токена
- ✅ Сохранение токена в локальном хранилище
- ✅ Копирование токена в буфер обмена
👤 Управление пользователями
- ✅ Получение профиля текущего пользователя
- ✅ Просмотр всех пользователей
- ✅ Обновление информации профиля
🚨 Emergency System
- ✅ Создание экстренных алертов
- ✅ Просмотр существующих алертов
- ✅ Указание местоположения (широта/долгота)
- ✅ Выбор типа экстренного события
📅 Календарь здоровья
- ✅ Просмотр записей календаря
- ✅ Добавление новых записей
- ✅ Отслеживание цикла, настроения и энергии
- ✅ Указание даты и типа события
🔔 Уведомления
- ✅ Отправка уведомлений
- ✅ Установка приоритета
- ✅ Кастомизация заголовка и текста
❤️ Здоровье сервиса
- ✅ Проверка статуса всех микросервисов
- ✅ Мониторинг API Gateway
- ✅ Проверка доступности каждого сервиса
🎨 Интерфейс
Левая панель
- Аутентификация и навигация
- Вход и регистрация
- Список всех ендпоинтов
Правая панель
- Тестирование API
- 5 основных категорий функций
- Просмотр результатов в JSON формате
📱 Функции браузера
- Адаптивный дизайн: работает на мобильных устройствах
- Красивый UI: градиентный фон и современный дизайн
- Подсветка кода: JSON результаты отображаются в читаемом формате
- Сохранение токена: автоматическое сохранение в localStorage
- Копирование: быстрое копирование токена в буфер обмена
🔧 Примеры использования
Регистрация
- Откройте вкладку "Регистрация"
- Заполните Email, имя пользователя, пароль
- Нажмите "✍️ Зарегистрироваться"
- После успешной регистрации используйте эти учётные данные для входа
Создание алерта
- Откройте вкладку "🚨 Алерты"
- Установите координаты (по умолчанию Нью-Йорк)
- Выберите тип алерта
- Нажмите "🚨 Создать алерт"
Проверка здоровья системы
- Откройте вкладку "❤️ Health"
- Нажмите "🔍 Проверить все сервисы"
- Посмотрите статус всех 5 микросервисов
🌐 API URLs
По умолчанию фронтенд подключается к:
- API Gateway: http://localhost:8000
- User Service: http://localhost:8001
- Emergency Service: http://localhost:8002
- Calendar Service: http://localhost:8004
- Notification Service: http://localhost:8005
Для изменения IP адреса, отредактируйте переменную API_BASE в frontend_test.html
🚨 CORS
Убедитесь, что все микросервисы имеют правильно настроенный CORS для работы с фронтенда:
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
📊 Технические детали
- Язык: HTML5 + CSS3 + Vanilla JavaScript
- Размер: ~15KB (один файл)
- Зависимости: нет (чистый JavaScript)
- Браузер: все современные браузеры (Chrome, Firefox, Safari, Edge)
✅ Протестировано
- ✅ Регистрация и вход
- ✅ Управление профилем
- ✅ Создание и просмотр алертов
- ✅ Управление календарём
- ✅ Отправка уведомлений
- ✅ Проверка здоровья сервисов
- ✅ Сохранение токена
- ✅ CORS запросы
🎓 Образовательная ценность
Этот фронтенд показывает:
- Как работать с REST API
- Как использовать JWT токены
- Как обрабатывать асинхронные операции (fetch API)
- Как управлять состоянием браузера (localStorage)
- Как создавать адаптивный UI без фреймворков
📝 Лицензия
MIT License - свободен для использования и модификации
Создано: 2025-12-13
Версия: 1.0.0
Статус: Полностью функционален ✅