{"id":22323769,"url":"https://github.com/aladser/psdia","last_synced_at":"2026-04-28T11:36:25.787Z","repository":{"id":258000273,"uuid":"865825603","full_name":"Aladser/psdia","owner":"Aladser","description":"Веб-приложение личного дневника. Django","archived":false,"fork":false,"pushed_at":"2024-10-30T06:44:36.000Z","size":893,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-31T07:13:16.887Z","etag":null,"topics":["celery","django","redis-cache"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aladser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-01T07:43:53.000Z","updated_at":"2024-10-30T08:54:37.000Z","dependencies_parsed_at":"2024-12-04T01:11:54.316Z","dependency_job_id":"9edf16ec-50cd-4040-83f7-11210b6d5463","html_url":"https://github.com/Aladser/psdia","commit_stats":null,"previous_names":["aladser/psdia"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aladser%2Fpsdia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aladser%2Fpsdia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aladser%2Fpsdia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aladser%2Fpsdia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aladser","download_url":"https://codeload.github.com/Aladser/psdia/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245593214,"owners_count":20640995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["celery","django","redis-cache"],"created_at":"2024-12-04T01:11:49.356Z","updated_at":"2026-04-28T11:36:20.719Z","avatar_url":"https://github.com/Aladser.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Личный дневник\n\nВеб-приложение для ведения личного дневника. \n\nПриложение позволяет пользователям создавать, редактировать и удалять записи в дневнике, просматривать свои записи в удобном интерфейсе. Все представления в CBV-стиле.\n\n## Настройки проекта\n+ Создать файл .env в корне проекта с настройками, аналогичными *.env.example*.\n+ ``docker-compose up --build`` - пересобрать контейнеры\n+ ``docker-compose up`` - запуск контейнеров\n\n\n## Функционал сайта\n\n+ Регистрация и аутентификация пользователей (приложение **authen**):\n  * Пользователи должны иметь возможность зарегистрироваться, войти в систему и выйти из неё.\n  * Модель ``User`` - пользователь: фамилия, имя, почта, телефон, аватар\n  * Представления:\n    + ``UserLoginView`` - авторизация. Форма ``AuthForm``\n    \n    ![UserLoginView](/readme/AuthForm.png)\n    + ``LogoutView`` - выход из системы. Стандаратное представление.\n    + ``RegisterView`` - регистрация. Форма ``RegisterForm``\n    \n    ![RegisterView](/readme/RegisterForm.png)\n    + ``ProfileView`` - профиль. Форма ``ProfileForm``\n    \n    ![ProfileView](/readme/ProfileForm.png)\n    + ``CustomPasswordResetView`` - сброс пароля и отправка ссылки на сброс пароля на почту. Форма ``CustomPasswordResetForm``\n    \n    ![CustomPasswordResetView](/readme/CustomPasswordResetForm.png)\n    + ``CustomUserPasswordResetConfirmView`` - ввод нового пароля. Форма ``CustomSetPasswordForm``\n    \n    ![CustomUserPasswordResetConfirmView](/readme/CustomSetPasswordForm.png)\n    + ``CustomPasswordResetCompleteView`` - проверка ввода нового пароля\n    + ``VerificateEmailView`` - подтверждение почты\n    + ``RegisterCompleteView`` - завершение регистрации\n  * Используется для всех шаблонов представлений базовый шаблон ``basic_auth``\n  * Письмо подтверждения регистрации отправляется через отложенную функцию ``send_email()``\n  \n+ Создание, редактирование и удаление записей в дневнике (приложение **diary**):\n  * Авторизованные пользователи могут добавлять новые записи в дневник, редактировать существующие записи (только свои) и удалять ненужные записи.\n  * Модель ``Record`` - запись: автор, содержание(заголовок), дата создания\n  * Представления\n    + ``RecordCreateView`` - создание записи\n\n    ![RecordCreateView](/readme/RecordCreateView.png)\n\n    + ``RecordUpdateView`` - обновление записи\n    \n    ![RecordUpdateView](/readme/RecordUpdateView.png)\n\n    + ``RecordDeleteView`` - удаление записи\n    \n    ![RecordDeleteView](/readme/RecordDeleteView.png)\n\n+ Просмотр записей:\n  * Пользователи могут просматривать список всех своих записей.\n  \n    ``RecordListView`` - список записей пользователей.\n  \n    ![RecordListView](/readme/RecordListView.png)\n  * Пользователи могут просматривать отдельные записи в подробном виде.\n  \n    ``RecordDetailView`` - детали записи\n  \n    ![RecordDetailView](/readme/RecordDetailView.png)\n\n  За права пользователей на просмотр записей отвечают миксины\n    + ``libs.object_permission_mixin.ListObjectPermissionMixin`` - список записей. Если пользователь не авторизован, показывается стандартная главная страница.\n    + ``libs.object_permission_mixin.DetailObjectPermissionMixin`` - детали записи. Проверяютс права на просмотр страницы записи.\n    + ``libs.object_permission_mixin.UpdateDeleteObjectPermissionMixin`` - обновление или удаление записи. Проверка прав на обновление или удаление записи.\n    ![Permission_Denied](/readme/Permission_Denied.png)\n  \n+ Поиск по записям: \n  * Возможность поиска записей по заголовку или содержимому в интерфейсе сайта.\n  \n  ``RecordListView.get_queryset()`` - если введется поиск по записям, get_queryset() выдает записи согласно GET-параметрам элементов поиска.\n  Поиск введется по дате создания И/ИЛИ фразе\n  ![RecordListView_phrase_and_date](/readme/RecordListView_phrase_and_date.png)\n  ![RecordListView_date](/readme/RecordListView_date.png)\n  ![RecordListView_phrase](/readme/RecordListView_phrase.png)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faladser%2Fpsdia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faladser%2Fpsdia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faladser%2Fpsdia/lists"}