Стек: python:3.10, Django:4.1.4, Postgres:12.4
Приложение для планирования целей.
В приложениии реализован следующий функционал:
- Вход/регистрация/аутентификация через вк.
- Создание целей.
- Выбор временного интервала цели с отображением кол-ва дней до завершения цели.
- Выбор категории цели (личные, работа, развитие, спорт и т. п.) с возможностью добавлять/удалять/обновлять категории.
- Выбор приоритета цели (статичный список minor, major, critical и т. п.).
- Выбор статуса выполнения цели (в работе, выполнен, просрочен, в архиве).
- Изменение целей.
- Изменение описания цели.
- Изменение статуса.
- Возможность менять приоритет и категорию у цели.
- Удаление цели.
- При удалении цель меняет статус на «в архиве».
- Поиск по названию цели.
- Фильтрация по статусу, категории, приоритету, году.
- Комментарии к целям.
- Интеграция с Telegram.
Проверить работоспособность проекта можно по адресу https://lealvi.ru/.
В проекте реализован простой Telegram бот, который позволяет просмотреть созданные пользователем цели и создать новую цель.
Для проверки данного функционала в приложении Telegram необходимо начать чат с ботом по имени todolist_lesnikov_bot
Запуск проекта на локальном сервере проще всего производить с помощью платформы Docker.
Требования:
- [обязательно] установленная платформа Docker с Docker Compose;
- [желательно] созданное приложение в соц.сети ВКОНТАКТЕ - для реализации авторизации через данную соц.сеть;
- [желательно] созданный бот в приложении Telegram - для подключения бота к проекту.
-
Произвести настройку переменных окружения - в папке проекта разметить файл .env (см. файл .env.example):
-
Выполнить команду:
docker compose up --build -dФронтенд-часть будет доступна по адресу localhost:80 и будет ваимодействовать с запущенным бэкенд-сервером.
- При необходимости, создать администратора для админ-панели
docker compose exec api python manage.py createsuperuserТребования:
- [обязательно] установленная на сервере платформа Docker с Docker Compose.
- [желательно] созданное приложение в соц.сети ВКОНТАКТЕ - для реализации авторизации через данную соц.сеть;
- [желательно] созданный бот в приложении Telegram - для подключения бота к проекту.
-
Произвести настройку переменных окружения - в папке проекта на сервере разметить файл .env (см. файл .env.example):
-
Отредактировать файл docker-compose.yaml в папке
\deploy- изменить значения параметров в секции environments сервиса front:
SERVER_NAME - доменное имя для сертификата. Указать URL-адрес, по которому будет доступен проект;
CERTBOT_EMAIL - email администратора веб-сервера. Служит для получения уведомлений о домене или регистрации. Изменить по желанию.
front:
image: altec3/thesis-front:https-latest
(...)
environment:
- SERVER_NAME=your_domain.com
- CERTBOT_EMAIL=admin@mail.ru
(...)- Скопировать файл docker-compose.yaml из папки
\deployна сервер (в папку проекта). - В папке проекта на сервере выполнить команду:
docker compose up --build -dПроект будет доступен по адресу SERVER_NAME:80.
- Запустить контейнер с PostgreSQL:
docker compose up db -d- Перейти в папку
\todolist:
cd todolist- Выполнить команду:
pytest
