Skip to content
This repository has been archived by the owner on May 21, 2023. It is now read-only.
/ recipedb Public archive

RecipeDB - сайт для размещения кулинарных рецептов

License

Notifications You must be signed in to change notification settings

IvanAlekseyevich/recipedb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RecipeDB

RecipeDB - сайт для размещения кулинарных рецептов

Возможности проекта RecipeDB

  • Реализована регистрация пользователей через djoser
  • Вход на сайт осуществляется с помощью электронной почты и пароля
  • Публикация рецептов, с добавлением необходимых ингридиентов и времени приготовления
  • Поиск по ингридиентам при создании рецепта
  • Возможность задать теги для рецептов
  • Фильтрация рецептов по тегам
  • Подписка на авторов рецептов, добавление рецептов в избранное
  • Добавление рецептов в корзину покупок и скачивание их списка продуктов в txt

Особенности настройки Docker

  • Проект запускается в четырех контейнерах: nginx, PostgreSQL, frontend и Django
  • Обновление образа проекта в Docker Hub

Особенности CI & CD

  • Автоматический запуск тестов flake8 при обновлении проекта
  • Автоматическое обновление образа в Docker Hub **
  • Автоматический деплой проекта на сервер и его запуск в Docker **

**только при мерже pull request в ветку main

Технологии

  • Python 3.9
  • Django 4.0.4
  • Django REST framework 3.13.1
  • PostgreSQL 14.3
  • Gunicorn 20.1.0
  • nginx 1.22.0
  • React

Установка и запуск проекта

Скопируйте файлы из папки infra/ и папку docs/ на свой сервер

scp infra/docker-compose.yml <ваш_логин_на_сервере>@<адрес_вашего_сервера>:~/
scp infra/nginx.conf <ваш_логин_на_сервере>@<адрес_вашего_сервера>:~/
scp -r docs/ <ваш_логин_на_сервере>@<адрес_вашего_сервера>:~/

Зайдите на свой удаленный сервер и установите Docker

ssh <ваш_логин_на_сервере>@<адрес_вашего_сервера>
sudo apt install docker.io

В домашней папке на сервере создайте файл .env и заполните своими данными:

HOST=                 # адрес вашего удаленного сервера
USERNAME=             # ваш логин на удаленном сервере
SSH_KEY=              # ваш приватный ключ ssh (по умолчанию просмотр командой cat ~/.ssh/id_rsa)
PASSPHRASE=           # фраза-пароль при создании ssh ключа
DOCKERHUB_USERNAME=   # ваш логин на docker.com
DOCKERHUB_TOKEN=      # ваш пароль на docker.com
SECRET_KEY=           # ключ для генерации хэша Django
DEBUG=                # значение Debug
DB_ENGINE=            # укажите используемую БД
DB_NAME=              # имя базы данных
POSTGRES_USER=        # логин для подключения к БД
POSTGRES_PASSWORD=    # пароль для подключения к БД
DB_HOST=              # название сервиса (контейнера) БД
DB_PORT=              # порт для подключения к БД 

Документации проекта RecipeDB

При запущенном проекте откройте ссылку в браузере:

http://<адрес_вашего_сервера>/api/docs/redoc.html

Мои профили

License

MIT

About

RecipeDB - сайт для размещения кулинарных рецептов

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published