Проект представляет собой ресурс, где посетители без авторизации могут читать рецепты. Фронтенд написан на React, бекенд на DRF. Авторизованые пользователи могут:
- публиковать/удалять рецепты, добавлять теги своим рецептам;
- подписаться/отписаться от автора рецептов;
- отдельная страница с рецептами только избранных авторов;
- добавить/удалить рецепт из списка покупок;
- скачать список покупок, который автоматически формируется на основе рецептов из списка покупок;
Проект находится тут:
http://ola.sytes.net/
Здесь лежит Redoc:
http://ola.sytes.net/api/docs/
Админзона проекта (доступна только администратору):
http://ola.sytes.net/admin/
Логин для доступа к админ зоне:
test@test@test
Пароль для доступа к админ зоне:
test1234
Все команды необходимо выполнять в командной строке Вашего ПК. Первую команду следует выполнять в той локальной папке своего ПК, в которую Вы хотите склонировать проект из стороннего репозитория. Клонировать репозиторий выполнением следующей команды в командной строке:
git clone <сссылка на проект>
если Вы используете SSH-подключение, то, вместо <сссылка на проект>, укажите:
git@github.com:Eve982/foodgram-project-react.git
для HTTPS-подключений укажите следующую ссылку:
https://github.com/Eve982/foodgram-project-react.git
Перейти в клонированый проект командой:
cd foodgram_project_react
Убедитесь, что на Вашем компьютере установлен и запущен Docker. Находясь в папке проекта зайдите в папку infra выполнив следующую команду в терминале
cd infra
Откройте файл docker-compose.yml и замените следующую строку в разделе backend:
image: eve982/foodgram_backend:latest
на эту:
build: ../backend/
а строку в разеделе frontend:
eve982/foodgram_frontend:latest
на эту:
build: ../frontend/
В папке backend создайте и наполните файл '.env' по этому шаблону.
Запустите контейнер
docker-compose up
Для пересборки контейнеров, в случае, если Вы вносили изменения в проект выполните команду:
docker-compose up -d --build
Создайте суперпользователя для доступа к админ зоне:
docker-compose exec web python manage.py createsuperuser
Соберите статику:
docker-compose exec web python manage.py collectstatic --no-input
Проект запущен и доступен по адресу: http://localhost/
ALLOWED_HOSTS=['*', 'localhost']
Cекретный ключ, необходимый фреймворку Django для хэширования данных. Можно воспользоваться любым онлайн сервисом для генерации этого ключа:
SECRET_KEY=secret-key
Настройка режима разработки в продакшене должна быть в режиме False:
DEBUG=False
Используемая база данных, как правило это postgresql:
DB_ENGINE=django.db.backends.postgresql
Указываем название сервиса (контейнера):
DB_HOST=db
Указываем порт для подключения к БД:
DB_PORT=5432
Имя БД:
POSTGRES_DB=foodgram
Логин для подключения к БД:
POSTGRES_USER=login
Пароль для подключения к БД:
POSTGRES_PASSWORD=password