Веб-приложение для управления списками задач, разработанное на Django.
Проект позволяет пользователям создавать собственные списки дел, добавлять задачи, отмечать их выполнение и отслеживать состояние списков.
- Регистрация пользователей
- Авторизация
- Выход из системы
- Изоляция пользовательских данных
- Создание списков задач
- Редактирование списков
- Удаление списков
- Просмотр всех списков пользователя
- Пагинация результатов
- Добавление задач в список
- Редактирование задач
- Удаление задач
- Отметка выполнения задачи
- Установка даты завершения
- Автоматическое завершение списка при выполнении всех задач
- Автоматическое снятие статуса завершения списка при появлении незавершённой задачи
- Проверка уникальности списков пользователя
- Проверка уникальности задач внутри списка
Проект содержит:
- Unit Tests
- Functional Tests
- Django Forms Tests
- View Tests
- Model Tests
- Python
- Django
- PostgreSQL
- Docker Compose
- Pytest
- Django Test Framework
.
├── Khlopkov/
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│
├── main/
│ ├── models.py
│ ├── views.py
│ ├── forms.py
│ └── tests/
│
├── list_item/
│ ├── models.py
│ ├── views.py
│ ├── forms.py
│ └── tests/
│
├── registration/
│ ├── views.py
│ ├── forms.py
│ └── tests/
│
├── infrastructure/
│ └── postgres/
│
├── docker-compose.yml
├── requirements.txt
└── manage.py
Список задач пользователя.
| Field | Description |
|---|---|
| name | Название списка |
| user | Владелец списка |
| is_done | Статус завершения |
| created | Дата создания |
| modified | Дата изменения |
Отдельная задача внутри списка.
| Field | Description |
|---|---|
| name | Название задачи |
| listmodel_id | Ссылка на список |
| is_done | Статус выполнения |
| expiration_date | Срок выполнения |
| created | Дата создания |
| modified | Дата изменения |
git clone https://github.com/Anbionchik/django_educational_project.git
cd django_educational_projectdocker compose up -dpip install -r requirements.txtpython manage.py migratepython manage.py runserverApplication will be available at:
http://127.0.0.1:8000
Run all tests:
pytestRun Django tests:
python manage.py testВ рамках проекта были отработаны следующие навыки:
- разработка MVC/MVT-приложений на Django;
- работа с ORM Django;
- построение пользовательской аутентификации;
- работа с PostgreSQL;
- Docker-контейнеризация;
- написание unit и functional тестов;
- работа с формами Django;
- пагинация данных;
- реализация бизнес-логики на уровне моделей.
Andrey Khlopkov
Data Analyst / Data Engineer / Python Developer
GitHub: Anbionchik



