# Сайт психолога Ирины ## Структура проекта ``` . ├── backend/ # NestJS API (отправка заявок на почту) ├── frontend/ # React + Vite + TailwindCSS ├── docker-compose.yml └── .env # Общие переменные окружения ``` ## Быстрый старт (Docker Compose) 1. **Заполни переменные окружения** в корневом `.env`: ```bash cp .env.example .env # Отредактируй .env — укажи свои данные Яндекс.Почты ``` 2. **Запусти проект:** ```bash docker compose up --build ``` - Фронтенд: http://localhost - Бэкенд API: http://localhost:3001 ## Локальная разработка (без Docker) ### Backend ```bash cd backend cp .env.example .env # Отредактируй .env npm install npm run start:dev ``` ### Frontend ```bash cd frontend cp .env.example .env # Для dev-режима VITE_API_URL=http://localhost:3001 npm install npm run dev ``` ## Переменные окружения | Переменная | Описание | |------------|----------| | `PORT` | Порт бэкенда (по умолчанию 3001) | | `SMTP_HOST` | SMTP сервер (smtp.yandex.ru) | | `SMTP_PORT` | SMTP порт (465) | | `SMTP_SECURE` | Использовать SSL (true) | | `SMTP_USER` | Логин почты | | `SMTP_PASS` | Пароль приложения | | `RECIPIENT_EMAIL` | Почта для получения заявок | | `SITE_NAME` | Название сайта | | `FRONTEND_URL` | Разрешённый origin для CORS | | `VITE_API_URL` | URL API для фронтенда | ## Архитектура - **Frontend**: React 18 + Vite + TailwindCSS + React Router + i18next - **Backend**: NestJS + Nodemailer (SMTP Яндекса) - **API endpoint**: `POST /api/mail/application` - Принимает `{ name: string, phone: string, email?: string, message?: string }` - Отправляет письмо на указанный `RECIPIENT_EMAIL`