Артем
Привет, меня зовутНачинающий Python Developer
Yatube - Сервис для публикации статей и общения с подписчиками.
адресу
Пример сайта находится поСтек технологий:
OC Ubuntu 22.04, Python3.9, Django2.2, Unittest, Sorl-thumbnail, CSS3, Bootstrap, HTML5, Gunicorn, Nginx, PostgreSQL.
Реализация:
Проект создан на Django по MVT-архитектуре. Размещен на виртуальной машине в Яндекс.Облаке. Сервер запущен через Docker-compose (3 контейнера: django+gunicorn, nginx, psql). Покрыт тестами (использовалась библиотека Unittest).
Возможности:
- Реализована регистрация (из коробки), добавлена функция смены пароля через email. Восстановление пароля есть, но работает в тестовом режиме (письма приходят на сервер разработчика).
- Настроена панель администратора (роли: user, admin).
- Авторизованные пользователи могут вести свой блог, присоединяться к группам и добавлять изображения. Кроме того могут подписываться на других блогеров и комментировать их посты. Неавторизованные пользователи могут только просматривать контент.
Установка:
На хост-сервере клонируйте репозиторий:
git clone git@github.com:KitKat-ru/Yatube-project.git
infra
для этого введите в командной строке:
Перейдите в папку cd Yatube-project/infra
.env
. Должен находится в папке ./Yatube-project/infra/
:
Пример файла SECRET_KEY=... (ключ к Джанго проекту)
DB_ENGINE=django.db.backends.postgresql (указываем, что работаем с postgresql)
DB_NAME=postgres (имя базы данных)
POSTGRES_USER=... (логин для подключения к базе данных)
POSTGRES_PASSWORD=... (пароль для подключения к БД (установите свой)
DB_HOST=db (название сервиса (контейнера)
DB_PORT=5432 (порт для подключения к БД)
Docker и Docker-compose:
Подготовьте ВМ. Остановите службу nginx. Установите -sudo apt update && sudo apt upgrade -y
sudo systemctl stop nginx
sudo apt install curl
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
sudo apt install docker-ce docker-compose -y
docker-compose.yml
командой:
Запустите файл sudo docker-compose up -d --build
Для проверки панели администратора введите
sudo docker-compose exec web python manage.py createsuperuser
Авторы:
- Фабриков Артем (GitHub: https://github.com/KitKat-ru/)
Лицензия
Этот проект лицензируется в соответствии с лицензией MIT