# Обзор

## О проекте

**Симбир Еда** — это полноценная экосистема доставки еды, построенная на микросервисной архитектуре. Проект объединяет клиентов, рестораны и курьеров в единую платформу, обеспечивая полный цикл заказа: от выбора блюд до доставки.

## Ключевые особенности

1. **Микросервисная архитектура** — независимые сервисы для масштабирования
2. **Авторизация через VK ID** — быстрый вход без пароля
3. **Push-уведомления** через VK Notifications API
4. **Яндекс.Карты** — поиск адресов, геокодирование, отображение на карте
5. **Асинхронное взаимодействие** через RabbitMQ
6. **Мониторинг** — Grafana + Loki для метрик и логов
7. **Контейнеризация** — Docker Compose для простого развертывания

## Бизнес-сценарии

<table data-full-width="false"><thead><tr><th width="169">Роль</th><th width="575">Возможности</th></tr></thead><tbody><tr><td><strong>Клиент</strong></td><td>Выбор ресторана, заказ блюд, отслеживание статуса, история заказов</td></tr><tr><td><strong>Ресторан</strong></td><td>Управление меню, прием заказов, обновление статуса готовности</td></tr><tr><td><strong>Курьер</strong></td><td>Принятие заказов, подтверждение прибытия, доставка</td></tr><tr><td><strong>Администратор</strong></td><td>Управление пользователями</td></tr></tbody></table>

## Технологии

#### Backend

| Технология                       | Назначение           |
| -------------------------------- | -------------------- |
| .NET                             | Основной фреймворк   |
| [ASP.NET](https://asp.net/) Core | Web API              |
| Entity Framework Core            | ORM                  |
| PostgreSQL                       | Основная база данных |
| Redis                            | Кэширование, сессии  |
| RabbitMQ                         | Брокер сообщений     |
| Docker                           | Контейнеризация      |

#### Frontend

| Технология        | Назначение      |
| ----------------- | --------------- |
| React             | UI библиотека   |
| TypeScript        | Типизация       |
| Vite              | Сборка          |
| VK Bridge         | Интеграция с VK |
| React Yandex Maps | Яндекс.Карты    |

## Мониторинг

| Технология    | Назначение                    |
| ------------- | ----------------------------- |
| Grafana       | Визуализация метрик           |
| Loki          | Централизованное логирование  |
| Health Checks | Мониторинг состояния сервисов |

## Инфраструктура

| Компонент      | Назначение              |
| -------------- | ----------------------- |
| Docker Compose | Оркестрация контейнеров |
| PgAdmin        | Управление PostgreSQL   |
| Migrations     | Управление схемой БД    |

*Проект разработан для портфолио и стажировки в Simbir Soft*
