| Имя | Роль в проекте |
|---|---|
| Кабаева Алёна | капитан команды |
| Хасанова Эльвира | разработчик |
| Линьков Андрей | разработчик |
| Маркелов Денис | разработчик |
| Гуторов Владислав | разработчик |
| Перепонов Леонид | разработчик |
Перед началом работы убедитесь, что у вас установлены:
- Node.js (версия 18 или выше) - скачать
- PostgreSQL (версия 12 или выше) - скачать
- npm (обычно устанавливается вместе с Node.js)
- Git - скачать
git clone https://github.com/algorithm-ssau/team-3.git
cd team-3- Установите PostgreSQL, если ещё не установлен
- Создайте базу данных для проекта:
# Войдите в PostgreSQL (введите пароль суперпользователя)
psql -U postgres
# В консоли PostgreSQL выполните:
CREATE DATABASE recipes;
\qИли используйте графический интерфейс (pgAdmin, DBeaver и т.д.) для создания базы данных с именем recipes.
- Перейдите в папку сервера:
cd server- Установите зависимости:
npm install- Создайте файл
.envв папкеserver/со следующим содержимым:
# URL подключения к базе данных PostgreSQL
# Формат: postgresql://пользователь:пароль@хост:порт/имя_базы?schema=public
DATABASE_URL="postgresql://postgres:ваш_пароль@localhost:5432/recipes?schema=public"Важно:
- Замените
postgresна ваше имя пользователя PostgreSQL - Замените
ваш_парольна ваш пароль PostgreSQL - Если PostgreSQL работает на другом порту, измените
5432 - Если база данных имеет другое имя, измените
recipes
- Сгенерируйте Prisma Client:
npm run prisma:generate- Примените миграции базы данных:
npm run prisma:migrate- Заполните базу данных начальными данными (категории, рецепты, настроения):
npm run prisma:seed- Откройте новый терминал и перейдите в папку клиента:
cd client- Установите зависимости:
npm install- (Опционально) Создайте файл
.envв папкеclient/для настройки URL API:
# URL сервера (опционально, по умолчанию http://localhost:4000)
VITE_API_URL=http://localhost:4000- Запустите сервер (в терминале из папки
server/):
npm run devСервер должен запуститься на http://localhost:4000
- Запустите клиент (в другом терминале из папки
client/):
npm run devКлиент должен запуститься на http://localhost:5173
- Откройте браузер и перейдите по адресу
http://localhost:5173
Если у вас установлен Docker и Docker Compose, вы можете запустить весь проект одной командой:
-
Убедитесь, что в папке
server/создан файл.envс правильными настройками (см. Шаг 3 выше) -
Из корневой папки проекта выполните:
docker-compose up --buildЭто запустит:
- MongoDB (порт 27017) - Примечание: в текущей версии проект использует PostgreSQL, а не MongoDB. Возможно, это устаревшая конфигурация.
- Сервер (порт 4000)
- Клиент (порт 3000)
Важно: При использовании Docker Compose убедитесь, что переменные окружения в server/.env указывают на правильный хост базы данных (например, postgresql://postgres:password@mongo:27017/recipes для MongoDB или на внешний PostgreSQL сервер).
npm run dev- Запуск сервера в режиме разработкиnpm run build- Сборка проектаnpm run start- Запуск собранного проектаnpm run prisma:generate- Генерация Prisma Clientnpm run prisma:migrate- Применение миграцийnpm run prisma:push- Синхронизация схемы с БД (без миграций)npm run prisma:studio- Открыть Prisma Studio (GUI для работы с БД)npm run prisma:seed- Заполнить БД начальными данными
npm run dev- Запуск в режиме разработкиnpm run build- Сборка проекта для продакшенаnpm run preview- Предпросмотр собранного проектаnpm run lint- Проверка кода линтером
- Убедитесь, что PostgreSQL запущен
- Проверьте правильность данных в
DATABASE_URLв файлеserver/.env - Убедитесь, что база данных
recipesсоздана - Проверьте, что пользователь PostgreSQL имеет права на доступ к базе данных
Выполните:
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