75 lines
2.1 KiB
Markdown
75 lines
2.1 KiB
Markdown
# Сайт психолога Ирины
|
|
|
|
## Структура проекта
|
|
|
|
```
|
|
.
|
|
├── 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`
|