Приложение, которое даёт пользователям возможность делиться фотографиями и картинками, которые они нашли в интернете.
На сайте реализован следющий функционал:
- Система авторизации, также через VK;
- Система регистрации;
- Система смены пароля, сброса пароля через e-mail (При регистрации указывается e-mail, при сбросе указывается тот же e-mail, если совпадают, то на него придёт сообщение с ссылкой на восстановление пароля);
- Личный кабинет, возможность изменения данных ЛК, возможность привязывать картинку к профилю, если картинки нет, будет стоять стандартная (пока не во всех вкладках);
- Создан JavaScript-букмарклет для доступа через сайт к содержимому других сайтов (возможность сохранять картинки с других сайтов на этом);
- Реализаваны AJAX-запросы с jQuery;
- Постраничный вывод с помощью AJAX и Paginator;
- Создан собственный декоратор для проверки типа запроса (@ajax_required);
- Создано отношений «многие ко многим»;
- Реализована возможность ставить like к опубликованным картинкам;
- Защита от межсайтовых запросов в AJAX;
- Создано превью изображений с помощью sorl-thumbnail;
- Добавлена возможность смотреть всех зарегистрированных (активных) пользвателей;
- По умолчанию всем пользователям присваивается стандартная картинка профиля, если они не выберут другую, будет отображаться она;
- Добавлена кнопка FOLLOW и UNFOLLOW у пользователей для возможности подписываться на новости (новостная лента ещё не доработана);
- Добавлена активность в новостную ленту, построничный вывод новостей (по 5 шт (пока без AJAX)), что входит в активность:
- пользователь добавил картинку в закладки;
- пользователь лайкнул изображение;
- пользователь создал аккаунт;
- пользователь подписался на обновления;
- Возможность переходить из превью картинки в профиль пользователей, которые поставили лайк;
- Устранение дублирования новостей в ленте;
- Убрана ссылка на подписку в профиле авторизованного пользователя;
- Оптимизированы запросы дя связанных объектов с использованием select_related() и prefetch_related();
- Добавлен счётчик просмотров изображений с помощью Redis;
- Добавлена возможность сортировки по title, date, total likes (Не доработан);
P.S. В файле requirements.txt очень много ненужных приложений, пока нет желания чистить. P.S.S. В коде много комментариев, это сделано специально для лучшего усвоения материала. Сайт реализован по книге Меле Антонио "Django 2 в примерах"