{"id":50119822,"url":"https://github.com/algorithm-ssau/team-3-6302","last_synced_at":"2026-05-23T18:05:19.626Z","repository":{"id":290638826,"uuid":"975108903","full_name":"algorithm-ssau/team-3-6302","owner":"algorithm-ssau","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-10T23:09:34.000Z","size":103,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-10T23:26:19.998Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/algorithm-ssau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-29T19:50:02.000Z","updated_at":"2025-11-10T23:09:38.000Z","dependencies_parsed_at":"2025-04-29T21:44:41.187Z","dependency_job_id":null,"html_url":"https://github.com/algorithm-ssau/team-3-6302","commit_stats":null,"previous_names":["algorithm-ssau/team-3","algorithm-ssau/team-3-6302"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/algorithm-ssau/team-3-6302","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorithm-ssau%2Fteam-3-6302","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorithm-ssau%2Fteam-3-6302/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorithm-ssau%2Fteam-3-6302/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorithm-ssau%2Fteam-3-6302/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/algorithm-ssau","download_url":"https://codeload.github.com/algorithm-ssau/team-3-6302/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorithm-ssau%2Fteam-3-6302/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33406495,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T04:15:53.637Z","status":"ssl_error","status_checked_at":"2026-05-23T04:15:53.242Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-23T18:04:35.340Z","updated_at":"2026-05-23T18:05:19.604Z","avatar_url":"https://github.com/algorithm-ssau.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Команда 3\n\n## Проект: сайт рецептов ##\n\n### Разработчики:\n| Имя\t\t\t| Роль в проекте\t|\n|-----------------------|-----------------------|\n| Кабаева Алёна \t| капитан команды \t|\n| Хасанова Эльвира \t| разработчик \t\t|\n| Линьков Андрей \t| разработчик\t\t|\n| Маркелов Денис \t| разработчик\t\t|\n| Гуторов Владислав \t| разработчик\t\t|\n| Перепонов Леонид \t| разработчик\t\t|\n\n\n## Инструкция по запуску проекта\n\n### Требования\n\nПеред началом работы убедитесь, что у вас установлены:\n\n- **Node.js** (версия 18 или выше) - [скачать](https://nodejs.org/)\n- **PostgreSQL** (версия 12 или выше) - [скачать](https://www.postgresql.org/download/)\n- **npm** (обычно устанавливается вместе с Node.js)\n- **Git** - [скачать](https://git-scm.com/)\n\n### Вариант 1: Локальный запуск (для разработки)\n\n#### Шаг 1: Клонирование репозитория\n\n```bash\ngit clone https://github.com/algorithm-ssau/team-3.git\ncd team-3\n```\n\n#### Шаг 2: Установка и настройка базы данных PostgreSQL\n\n1. Установите PostgreSQL, если ещё не установлен\n2. Создайте базу данных для проекта:\n\n```bash\n# Войдите в PostgreSQL (введите пароль суперпользователя)\npsql -U postgres\n\n# В консоли PostgreSQL выполните:\nCREATE DATABASE recipes;\n\\q\n```\n\nИли используйте графический интерфейс (pgAdmin, DBeaver и т.д.) для создания базы данных с именем `recipes`.\n\n#### Шаг 3: Настройка сервера\n\n1. Перейдите в папку сервера:\n\n```bash\ncd server\n```\n\n2. Установите зависимости:\n\n```bash\nnpm install\n```\n\n3. Создайте файл `.env` в папке `server/` со следующим содержимым:\n\n```env\n# URL подключения к базе данных PostgreSQL\n# Формат: postgresql://пользователь:пароль@хост:порт/имя_базы?schema=public\nDATABASE_URL=\"postgresql://postgres:ваш_пароль@localhost:5432/recipes?schema=public\"\n```\n\n**Важно:** \n- Замените `postgres` на ваше имя пользователя PostgreSQL\n- Замените `ваш_пароль` на ваш пароль PostgreSQL\n- Если PostgreSQL работает на другом порту, измените `5432`\n- Если база данных имеет другое имя, измените `recipes`\n\n4. Сгенерируйте Prisma Client:\n\n```bash\nnpm run prisma:generate\n```\n\n5. Примените миграции базы данных:\n\n```bash\nnpm run prisma:migrate\n```\n\n6. Заполните базу данных начальными данными (категории, рецепты, настроения):\n\n```bash\nnpm run prisma:seed\n```\n\n#### Шаг 4: Настройка клиента\n\n1. Откройте новый терминал и перейдите в папку клиента:\n\n```bash\ncd client\n```\n\n2. Установите зависимости:\n\n```bash\nnpm install\n```\n\n3. (Опционально) Создайте файл `.env` в папке `client/` для настройки URL API:\n\n```env\n# URL сервера (опционально, по умолчанию http://localhost:4000)\nVITE_API_URL=http://localhost:4000\n```\n\n#### Шаг 5: Запуск приложения\n\n1. **Запустите сервер** (в терминале из папки `server/`):\n\n```bash\nnpm run dev\n```\n\nСервер должен запуститься на `http://localhost:4000`\n\n2. **Запустите клиент** (в другом терминале из папки `client/`):\n\n```bash\nnpm run dev\n```\n\nКлиент должен запуститься на `http://localhost:5173`\n\n3. Откройте браузер и перейдите по адресу `http://localhost:5173`\n\n### Вариант 2: Запуск через Docker Compose\n\nЕсли у вас установлен Docker и Docker Compose, вы можете запустить весь проект одной командой:\n\n1. Убедитесь, что в папке `server/` создан файл `.env` с правильными настройками (см. Шаг 3 выше)\n\n2. Из корневой папки проекта выполните:\n\n```bash\ndocker-compose up --build\n```\n\nЭто запустит:\n- MongoDB (порт 27017) - **Примечание:** в текущей версии проект использует PostgreSQL, а не MongoDB. Возможно, это устаревшая конфигурация.\n- Сервер (порт 4000)\n- Клиент (порт 3000)\n\n**Важно:** При использовании Docker Compose убедитесь, что переменные окружения в `server/.env` указывают на правильный хост базы данных (например, `postgresql://postgres:password@mongo:27017/recipes` для MongoDB или на внешний PostgreSQL сервер).\n\n### Полезные команды\n\n#### Для сервера (в папке `server/`):\n\n- `npm run dev` - Запуск сервера в режиме разработки\n- `npm run build` - Сборка проекта\n- `npm run start` - Запуск собранного проекта\n- `npm run prisma:generate` - Генерация Prisma Client\n- `npm run prisma:migrate` - Применение миграций\n- `npm run prisma:push` - Синхронизация схемы с БД (без миграций)\n- `npm run prisma:studio` - Открыть Prisma Studio (GUI для работы с БД)\n- `npm run prisma:seed` - Заполнить БД начальными данными\n\n#### Для клиента (в папке `client/`):\n\n- `npm run dev` - Запуск в режиме разработки\n- `npm run build` - Сборка проекта для продакшена\n- `npm run preview` - Предпросмотр собранного проекта\n- `npm run lint` - Проверка кода линтером\n\n### Решение проблем\n\n#### Ошибка подключения к базе данных\n\n- Убедитесь, что PostgreSQL запущен\n- Проверьте правильность данных в `DATABASE_URL` в файле `server/.env`\n- Убедитесь, что база данных `recipes` создана\n- Проверьте, что пользователь PostgreSQL имеет права на доступ к базе данных\n\n#### Ошибка \"Prisma Client не найден\"\n\nВыполните:\n```bash\ncd server\nnpm run prisma:generate\n```\n\n#### Ошибка \"Миграции не применены\"\n\nВыполните:\n```bash\ncd server\nnpm run prisma:migrate\n```\n\n#### Порт уже занят\n\n- Измените порт сервера в `server/.env` (переменная `PORT`)\n- Или измените порт клиента в `client/vite.config.ts` (опция `server.port`)\n\n#### Клиент не может подключиться к серверу\n\n- Убедитесь, что сервер запущен\n- Проверьте, что в `client/src/services/api.ts` указан правильный `API_BASE_URL`\n- Или создайте файл `client/.env` с переменной `VITE_API_URL=http://localhost:4000`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgorithm-ssau%2Fteam-3-6302","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falgorithm-ssau%2Fteam-3-6302","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgorithm-ssau%2Fteam-3-6302/lists"}