Skip to content

algorithm-ssau/team-3-6302

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Команда 3

Проект: сайт рецептов

Разработчики:

Имя Роль в проекте
Кабаева Алёна капитан команды
Хасанова Эльвира разработчик
Линьков Андрей разработчик
Маркелов Денис разработчик
Гуторов Владислав разработчик
Перепонов Леонид разработчик

Инструкция по запуску проекта

Требования

Перед началом работы убедитесь, что у вас установлены:

  • Node.js (версия 18 или выше) - скачать
  • PostgreSQL (версия 12 или выше) - скачать
  • npm (обычно устанавливается вместе с Node.js)
  • Git - скачать

Вариант 1: Локальный запуск (для разработки)

Шаг 1: Клонирование репозитория

git clone https://github.com/algorithm-ssau/team-3.git
cd team-3

Шаг 2: Установка и настройка базы данных PostgreSQL

  1. Установите PostgreSQL, если ещё не установлен
  2. Создайте базу данных для проекта:
# Войдите в PostgreSQL (введите пароль суперпользователя)
psql -U postgres

# В консоли PostgreSQL выполните:
CREATE DATABASE recipes;
\q

Или используйте графический интерфейс (pgAdmin, DBeaver и т.д.) для создания базы данных с именем recipes.

Шаг 3: Настройка сервера

  1. Перейдите в папку сервера:
cd server
  1. Установите зависимости:
npm install
  1. Создайте файл .env в папке server/ со следующим содержимым:
# URL подключения к базе данных PostgreSQL
# Формат: postgresql://пользователь:пароль@хост:порт/имя_базы?schema=public
DATABASE_URL="postgresql://postgres:ваш_пароль@localhost:5432/recipes?schema=public"

Важно:

  • Замените postgres на ваше имя пользователя PostgreSQL
  • Замените ваш_пароль на ваш пароль PostgreSQL
  • Если PostgreSQL работает на другом порту, измените 5432
  • Если база данных имеет другое имя, измените recipes
  1. Сгенерируйте Prisma Client:
npm run prisma:generate
  1. Примените миграции базы данных:
npm run prisma:migrate
  1. Заполните базу данных начальными данными (категории, рецепты, настроения):
npm run prisma:seed

Шаг 4: Настройка клиента

  1. Откройте новый терминал и перейдите в папку клиента:
cd client
  1. Установите зависимости:
npm install
  1. (Опционально) Создайте файл .env в папке client/ для настройки URL API:
# URL сервера (опционально, по умолчанию http://localhost:4000)
VITE_API_URL=http://localhost:4000

Шаг 5: Запуск приложения

  1. Запустите сервер (в терминале из папки server/):
npm run dev

Сервер должен запуститься на http://localhost:4000

  1. Запустите клиент (в другом терминале из папки client/):
npm run dev

Клиент должен запуститься на http://localhost:5173

  1. Откройте браузер и перейдите по адресу http://localhost:5173

Вариант 2: Запуск через Docker Compose

Если у вас установлен Docker и Docker Compose, вы можете запустить весь проект одной командой:

  1. Убедитесь, что в папке server/ создан файл .env с правильными настройками (см. Шаг 3 выше)

  2. Из корневой папки проекта выполните:

docker-compose up --build

Это запустит:

  • MongoDB (порт 27017) - Примечание: в текущей версии проект использует PostgreSQL, а не MongoDB. Возможно, это устаревшая конфигурация.
  • Сервер (порт 4000)
  • Клиент (порт 3000)

Важно: При использовании Docker Compose убедитесь, что переменные окружения в server/.env указывают на правильный хост базы данных (например, postgresql://postgres:password@mongo:27017/recipes для MongoDB или на внешний PostgreSQL сервер).

Полезные команды

Для сервера (в папке server/):

  • npm run dev - Запуск сервера в режиме разработки
  • npm run build - Сборка проекта
  • npm run start - Запуск собранного проекта
  • npm run prisma:generate - Генерация Prisma Client
  • npm run prisma:migrate - Применение миграций
  • npm run prisma:push - Синхронизация схемы с БД (без миграций)
  • npm run prisma:studio - Открыть Prisma Studio (GUI для работы с БД)
  • npm run prisma:seed - Заполнить БД начальными данными

Для клиента (в папке client/):

  • npm run dev - Запуск в режиме разработки
  • npm run build - Сборка проекта для продакшена
  • npm run preview - Предпросмотр собранного проекта
  • npm run lint - Проверка кода линтером

Решение проблем

Ошибка подключения к базе данных

  • Убедитесь, что PostgreSQL запущен
  • Проверьте правильность данных в DATABASE_URL в файле server/.env
  • Убедитесь, что база данных recipes создана
  • Проверьте, что пользователь PostgreSQL имеет права на доступ к базе данных

Ошибка "Prisma Client не найден"

Выполните:

cd server
npm run prisma:generate

Ошибка "Миграции не применены"

Выполните:

cd server
npm run prisma:migrate

Порт уже занят

  • Измените порт сервера в server/.env (переменная PORT)
  • Или измените порт клиента в client/vite.config.ts (опция server.port)

Клиент не может подключиться к серверу

  • Убедитесь, что сервер запущен
  • Проверьте, что в client/src/services/api.ts указан правильный API_BASE_URL
  • Или создайте файл client/.env с переменной VITE_API_URL=http://localhost:4000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages