Files
chat/README.md
2025-09-25 08:05:25 +09:00

142 lines
5.3 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.

# Women's Safety App - Backend Services
🚨 **Микросервисная архитектура для приложения безопасности женщин с поддержкой миллионов пользователей** 🚨
> Высокопроизводительная, масштабируемая система для экстренных уведомлений, геолокационных сервисов и управления женским здоровьем.
[![Python](https://img.shields.io/badge/Python-3.11+-blue.svg)](https://python.org)
[![FastAPI](https://img.shields.io/badge/FastAPI-0.104+-green.svg)](https://fastapi.tiangolo.com)
[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-15+-blue.svg)](https://postgresql.org)
[![Docker](https://img.shields.io/badge/Docker-Ready-blue.svg)](https://docker.com)
## 🏗️ Архитектура
### 🎯 Ключевые возможности:
- **Мгновенные SOS-сигналы** с геолокационным таргетингом
- **Умный поиск** пользователей в радиусе 1км
- **Женский календарь** с ИИ-аналитикой
- **Push-уведомления** в реальном времени
- **JWT-аутентификация** и защита данных
- **Горизонтальное масштабирование** для миллионов пользователей
### 🚀 Микросервисы:
- **🔐 User Service** (8001): Профили, аутентификация, настройки
- **🚨 Emergency Service** (8002): SOS-сигналы, экстренные уведомления
- **📍 Location Service** (8003): Геолокация, поиск по радиусу
- **📅 Calendar Service** (8004): Женское здоровье, цикл, аналитика
- **🔔 Notification Service** (8005): Push-уведомления, FCM
- **🌐 API Gateway** (8000): Маршрутизация, rate limiting, балансировка
### 🛠️ Технологический стек:
- **Backend**: Python 3.11+ с FastAPI
- **Database**: PostgreSQL 15+ с партиционированием
- **Cache**: Redis 7+ для сессий и геоданных
- **Messaging**: Kafka для event streaming
- **Monitoring**: Prometheus + Grafana
- **Deployment**: Docker + Docker Compose
## 🚀 Запуск
### Требования
- Python 3.11+
- Docker & Docker Compose
- PostgreSQL 14+
- Redis 7+
### Установка
```bash
# Клонирование и настройка
git clone <repository>
cd women-safety-backend
# Создание виртуального окружения
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
# Установка зависимостей
pip install -r requirements.txt
# Запуск инфраструктуры
docker-compose up -d postgres redis kafka
# Миграции БД
alembic upgrade head
# Запуск сервисов
python -m uvicorn user_service.main:app --port 8001
python -m uvicorn emergency_service.main:app --port 8002
python -m uvicorn location_service.main:app --port 8003
python -m uvicorn calendar_service.main:app --port 8004
python -m uvicorn notification_service.main:app --port 8005
python -m uvicorn api_gateway.main:app --port 8000
```
## 📱 Основной функционал
### SOS Alert System
- Мгновенная отправка сигналов тревоги
- Геолокационный поиск пользователей в радиусе 1км
- Массовые push-уведомления
- Интеграция с службами экстренного реагирования
### Профили пользователей
- Регистрация и аутентификация
- Личные данные и настройки
- Контакты для экстренной связи
### Женский календарь
- Отслеживание менструального цикла
- Уведомления и напоминания
- Аналитика здоровья
## 🔧 Разработка
### Структура проекта
```
├── services/
│ ├── user-service/
│ ├── emergency-service/
│ ├── location-service/
│ ├── calendar-service/
│ ├── notification-service/
│ └── api-gateway/
├── shared/
│ ├── database/
│ ├── messaging/
│ └── utils/
├── docker-compose.yml
├── requirements.txt
└── README.md
```
### Команды разработки
```bash
# Тесты
python -m pytest
# Линтеры
black .
flake8 .
mypy .
# Миграции
alembic revision --autogenerate -m "description"
alembic upgrade head
```
## 🔒 Безопасность
- JWT аутентификация
- Rate limiting
- HTTPS only
- Шифрование персональных данных
- Валидация входных данных
- CORS настройки
## 📊 Масштабируемость
- Горизонтальное масштабирование сервисов
- Партиционирование БД по географическим регионам
- Кэширование критических данных
- Асинхронная обработка
- Circuit breaker pattern
- Health checks и service discovery