krivse / Yatube

🗺📝👥Yatube. Социальная сеть для введения личных блогов. C возможностью подписываться на других авторов, оставлять комментарии, редактировать записи, отмечать понравившиеся записи и многое другое.

Home Page:https://yatube.myddns.me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Социальная сеть для ведения пользовательских блогов "Yatube"

Python3.9 Django2.2.16 Unittest Pytest SQLite3 HTML5 CSS

Описание

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

Для пользователя доступен следующий функционал:

  • Можно зарегистрироваться и создать свою страницу;

  • Пользователи могут подписываться и отписываться на понравившихся авторов;

  • Возможно оставлять, редактировать и удалять комментарии к постам;

  • Публиковать авторизованным пользователям новые посты на главной странице и в тематических группах;

  • Возможность выбора группы при публикация поста в ленте, в которой появится этот пост;

  • Прикреплять изображения к публикуемым постам;

  • Отмечать понарвившиеся записи;

  • Редактировать посты только его автором;

  • Реализована система регистрации новых пользователей, восстановление паролей пользователей через почту

Проект имеет верстку с адаптацией под размер экрана устройства пользователя. Страница с пагинацией выводимых результатов и кэширование страниц, которое работает на главной странице.

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

  • После регистрации пользователя создается его персональная страница;

  • Авторизованный пользователь может опубликовать пост;

  • Неавторизованный пользователь не может опубликовать пост (его редиректит на страницу входа);

  • После публикации поста новая запись появляется на главной странице сайта (index), на персональной странице пользователя (profile), и на отдельной странице поста (post);

  • Авторизованный пользователь может отредактировать свой пост и содержимое поста изменится на всех связанных страницах.

  • Авторизованный пользователь может подписываться на других авторов и удалять их из подписок;

  • Новая запись пользователя появляется в ленте только тех, кто на него подписан;

  • Авторизированный пользователь может комментировать посты.

Как запустить проект:

Клонировать репозиторий и перейти в него в командной строке:

git clone git@github.com:krivse/Yatube.git

Cоздать и активировать виртуальное окружение:

python3 -m venv venv
# для OS Lunix и MacOS
source venv/bin/activate

# для OS Windows
source venv/Scripts/activate

Установить зависимости из файла requirements.txt:

python3 -m pip install --upgrade pip
pip install -r requirements.txt

Выполнить миграции:

python3 manage.py migrate

Запустить проект:

python3 manage.py runserver

Соберите статику:

python manage.py collectstatic

Создайте своего суперпользователя:

python manage.py createsuperuser

Сайт будет доступен по адресу:

http://127.0.0.1:8000

Админка будет доступен по адресу:

http://127.0.0.1:8000/admin
Автор - Иван Красников, 2022

About

🗺📝👥Yatube. Социальная сеть для введения личных блогов. C возможностью подписываться на других авторов, оставлять комментарии, редактировать записи, отмечать понравившиеся записи и многое другое.

https://yatube.myddns.me


Languages

Language:Python 75.9%Language:HTML 24.1%