https://github.com/aladser/psdia
Веб-приложение личного дневника. Django
https://github.com/aladser/psdia
celery django redis-cache
Last synced: about 2 months ago
JSON representation
Веб-приложение личного дневника. Django
- Host: GitHub
- URL: https://github.com/aladser/psdia
- Owner: Aladser
- Created: 2024-10-01T07:43:53.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-10-30T06:44:36.000Z (over 1 year ago)
- Last Synced: 2025-01-31T07:13:16.887Z (over 1 year ago)
- Topics: celery, django, redis-cache
- Language: Python
- Homepage:
- Size: 872 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Личный дневник
Веб-приложение для ведения личного дневника.
Приложение позволяет пользователям создавать, редактировать и удалять записи в дневнике, просматривать свои записи в удобном интерфейсе. Все представления в CBV-стиле.
## Настройки проекта
+ Создать файл .env в корне проекта с настройками, аналогичными *.env.example*.
+ ``docker-compose up --build`` - пересобрать контейнеры
+ ``docker-compose up`` - запуск контейнеров
## Функционал сайта
+ Регистрация и аутентификация пользователей (приложение **authen**):
* Пользователи должны иметь возможность зарегистрироваться, войти в систему и выйти из неё.
* Модель ``User`` - пользователь: фамилия, имя, почта, телефон, аватар
* Представления:
+ ``UserLoginView`` - авторизация. Форма ``AuthForm``

+ ``LogoutView`` - выход из системы. Стандаратное представление.
+ ``RegisterView`` - регистрация. Форма ``RegisterForm``

+ ``ProfileView`` - профиль. Форма ``ProfileForm``

+ ``CustomPasswordResetView`` - сброс пароля и отправка ссылки на сброс пароля на почту. Форма ``CustomPasswordResetForm``

+ ``CustomUserPasswordResetConfirmView`` - ввод нового пароля. Форма ``CustomSetPasswordForm``

+ ``CustomPasswordResetCompleteView`` - проверка ввода нового пароля
+ ``VerificateEmailView`` - подтверждение почты
+ ``RegisterCompleteView`` - завершение регистрации
* Используется для всех шаблонов представлений базовый шаблон ``basic_auth``
* Письмо подтверждения регистрации отправляется через отложенную функцию ``send_email()``
+ Создание, редактирование и удаление записей в дневнике (приложение **diary**):
* Авторизованные пользователи могут добавлять новые записи в дневник, редактировать существующие записи (только свои) и удалять ненужные записи.
* Модель ``Record`` - запись: автор, содержание(заголовок), дата создания
* Представления
+ ``RecordCreateView`` - создание записи

+ ``RecordUpdateView`` - обновление записи

+ ``RecordDeleteView`` - удаление записи

+ Просмотр записей:
* Пользователи могут просматривать список всех своих записей.
``RecordListView`` - список записей пользователей.

* Пользователи могут просматривать отдельные записи в подробном виде.
``RecordDetailView`` - детали записи

За права пользователей на просмотр записей отвечают миксины
+ ``libs.object_permission_mixin.ListObjectPermissionMixin`` - список записей. Если пользователь не авторизован, показывается стандартная главная страница.
+ ``libs.object_permission_mixin.DetailObjectPermissionMixin`` - детали записи. Проверяютс права на просмотр страницы записи.
+ ``libs.object_permission_mixin.UpdateDeleteObjectPermissionMixin`` - обновление или удаление записи. Проверка прав на обновление или удаление записи.

+ Поиск по записям:
* Возможность поиска записей по заголовку или содержимому в интерфейсе сайта.
``RecordListView.get_queryset()`` - если введется поиск по записям, get_queryset() выдает записи согласно GET-параметрам элементов поиска.
Поиск введется по дате создания И/ИЛИ фразе


