BolshakovAndrey / hw05_final

Социальная сеть блогеров (Учебный проект Яндекс.Практикум)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Учебный проект Yatube - Социальная сеть блогеров.

Разработан в рамках обучения по программе "Python WEB разработчик" в Яндекс.Практикум.

В учебных целях создано две реализации с одиноковым функционалом:

Проект разработан на осоновании технического задания.

Техническое задание: Необходимо разработать социальную сеть для публикации личных дневников. Это будет сайт, на котором можно создать свою страницу. Если на нее зайти, то можно посмотреть все записи автора. Пользователи смогут заходить на чужие страницы, подписываться на авторов и комментировать их записи. Дизайн можно взять самый обычный, но красивый. Тексты без особой разметки. Записи можно отправить в сообщество и посмотреть там записи разных авторов.

В проекте реализованы следующие функции:

Создание сообщества для публикаций.
Публикация поста в ленте, (возможность выбора группы, в которой появится этот пост);
Добавление новых записей авторизованными пользователями;
Добавление фотографий;
Добавление и редактирование комментариев;
Редактирование постов только его автором;
Подписка/отписка на понравившихся авторов;
Создание отдельной ленты с постами авторов на которых подписан пользователь;
Реализовано кэширование, работает на главной странице;
Работает пагинация;

Так же реализовано тестирование(Unittest) основных функций:

После регистрации пользователя создается его персональная страница (profile);
Авторизованный пользователь может опубликовать пост (new);
Неавторизованный посетитель не может опубликовать пост (его редиректит на страницу входа);
После публикации поста новая запись появляется на главной странице сайта (index), на персональной странице пользователя (profile), и на отдельной странице поста (post);
Авторизованный пользователь может отредактировать свой пост и его содержимое изменится на всех связанных страницах.
Авторизованный пользователь может подписываться на других пользователей и удалять их из подписок;
Новая запись пользователя появляется в ленте тех, кто на него подписан и не появляется в ленте тех, кто не подписан на него;
Только авторизированный пользователь может комментировать посты.

Стек технологий.

Python3 Django Pytest Pillow Bootstrap

Запуск приложения.

Установите зависимости из requirements.txt:

pip install -r requirements.txt

Выполните все необходимые миграции:

python manage.py makemigrations

python manage.py migrate

Для доступа к панели администратора создайте администратора:

python manage.py createsuperuser

Запустите приложение:

python manage.py runserver

About

Социальная сеть блогеров (Учебный проект Яндекс.Практикум)


Languages

Language:Python 73.8%Language:HTML 26.1%Language:Shell 0.1%