Skip to content

Wiz410/foodgram-project-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foodgram

Foodgram сайт для любителей готовки, с возможностью публикации своих рецептов. Дипломный проект Yandex Practicum.

Foodgram позволяет:

  • Просматривать рецепты пользователей с сортировкой по тегам.
  • Создавать свои рецепты.
  • Добавлять рецепты в избранное и список покупок, с возможностью скачать файл txt с нужными ингредиентами.
  • Подписаться на любимого автора.

Технологии

Запуск проекта

Проект написан с использованием контейнеров и для запуска потребуется Docker.

Клонируйте проект и перейдите в его директорию:

git clone [email protected]:Wiz410/foodgram-project-react.git
cd foodgram-project-react/

Создайте файл .env:

touch .env

И заполните его:

POSTGRES_USER=foodgram_user
POSTGRES_PASSWORD=foodgram_db_password
POSTGRES_DB=foodgram
DB_HOST=db
DB_PORT=5432
FOODGRAM_SECRET_KEY=foodgram_secret_key
FOODGRAM_DEBUG=False
FOODGRAM_ALLOWED_HOSTS=127.0.0.1 localhost
FOODGRAM_TIME_ZONE=UTC

Перейдите в директорию infra и запустите Docker Compose:

cd infra/
docker compose up

Проект будет доступен по адресу http://localhost/

Примеры запросов

Полный список запросов доступен в /api/docs/redoc.html.

/api/users/

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "email": "[email protected]",
      "id": 0,
      "username": "string",
      "first_name": "Вася",
      "last_name": "Пупкин",
      "is_subscribed": false
    }
  ]
}

/api/recipes/

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": 0,
      "tags": [
        {
          "id": 0,
          "name": "Завтрак",
          "color": "#E26C2D",
          "slug": "breakfast"
        }
      ],
      "author": {
        "email": "[email protected]",
        "id": 0,
        "username": "string",
        "first_name": "Вася",
        "last_name": "Пупкин",
        "is_subscribed": false
      },
      "ingredients": [
        {
          "id": 0,
          "name": "Картофель отварной",
          "measurement_unit": "г",
          "amount": 1
        }
      ],
      "is_favorited": true,
      "is_in_shopping_cart": true,
      "name": "string",
      "image": "http://foodgram.example.org/media/recipes/images/image.jpeg",
      "text": "string",
      "cooking_time": 1
    }
  ]
}

/api/recipes/id/

{
  "id": 0,
  "tags": [
    {
      "id": 0,
      "name": "Завтрак",
      "color": "#E26C2D",
      "slug": "breakfast"
    }
  ],
  "author": {
    "email": "[email protected]",
    "id": 0,
    "username": "string",
    "first_name": "Вася",
    "last_name": "Пупкин",
    "is_subscribed": false
  },
  "ingredients": [
    {
      "id": 0,
      "name": "Картофель отварной",
      "measurement_unit": "г",
      "amount": 1
    }
  ],
  "is_favorited": true,
  "is_in_shopping_cart": true,
  "name": "string",
  "image": "http://foodgram.example.org/media/recipes/images/image.jpeg",
  "text": "string",
  "cooking_time": 1
}

/api/users/subscriptions/

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "email": "[email protected]",
      "id": 0,
      "username": "string",
      "first_name": "Вася",
      "last_name": "Пупкин",
      "is_subscribed": true,
      "recipes": [
        {
          "id": 0,
          "name": "string",
          "image": "http://foodgram.example.org/media/recipes/images/image.jpeg",
          "cooking_time": 1
        }
      ],
      "recipes_count": 0
    }
  ]
}
Авторы