c516615bb3df2fa4b52ba94fde17831ddc382eab
Сайт психолога Ирины
Структура проекта
.
├── backend/ # NestJS API (отправка заявок на почту)
├── frontend/ # React + Vite + TailwindCSS
├── docker-compose.yml
└── .env # Общие переменные окружения
Быстрый старт (Docker Compose)
- Заполни переменные окружения в корневом
.env:
cp .env.example .env
# Отредактируй .env — укажи свои данные Яндекс.Почты
- Запусти проект:
docker compose up --build
- Фронтенд: http://localhost
- Бэкенд API: http://localhost:3001
Локальная разработка (без Docker)
Backend
cd backend
cp .env.example .env
# Отредактируй .env
npm install
npm run start:dev
Frontend
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
- Принимает
Description
Languages
TypeScript
94%
HTML
2.3%
Dockerfile
1.3%
JavaScript
1.3%
CSS
1.1%