Initial commit: restructure project with Docker Compose setup
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# Сайт психолога Ирины
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
.
|
||||
├── 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`
|
||||
Reference in New Issue
Block a user