- Номер проекта - TF4
- Название проекта - Веб-приложение для ведения личного дневника
- Направление - Fullstack
- Тэги: Django, Git, ORM, PEP8, Permission, PostgreSQL, Readme, Docker, Docker-Compose, Templates
- Ветка develop
- Python
- Django
- PostgreSQL
- Git
- ORM
- Permission
- Docker
- Docker-Compose
Необходимо разработать веб-приложение для ведения личного дневника. Приложение должно позволять пользователям создавать, редактировать и удалять записи в дневнике, а также просматривать свои записи в удобном интерфейсе. Пользовательский интерфейс должен быть реализован с использованием Django шаблонов и Bootstrap стилей для создания адаптивного и современного дизайна.
- Сверстать сайт для ведения личного дневника.
- Подключить сайт к админке Django.
- Использовать Bootstrap для создания адаптивного и привлекательного интерфейса.
- Регистрация и аутентификация пользователей:
- Пользователи должны иметь возможность зарегистрироваться, войти в систему и выйти из неё.
- Создание, редактирование и удаление записей в дневнике:
- Авторизованные пользователи могут добавлять новые записи в дневник, редактировать существующие записи (только свои) и удалять ненужные записи.
- Просмотр записей:
- Пользователи могут просматривать список всех своих записей.
- Пользователи могут просматривать отдельные записи в подробном виде.
- Поиск по записям:
- Возможность поиска записей по заголовку или содержимому в интерфейсе сайта.
- Язык программирования:
- Python 3.11 и выше
- Фреймворк:
- Django для реализации веб-приложения
- База данных:
- PostgreSQL для хранения данных о пользователях и записях
- Шаблоны и стили:
- Django шаблоны для рендеринга HTML страниц
- Bootstrap для стилизации интерфейса
- Контейнеризация:
- Docker для упаковки приложения и базы данных
- Документация:
- В корне проекта должен быть файл README.md с описанием структуры проекта и инструкциями по установке и запуску
- Клонируйте репозиторий
git clone git@github.com:AlexKozhanov/TF4.git- Установите зависимости
pip install -r requirements.txtили
poetry install- Создайте файл .env из копии файла .env.sample и вставьте значения переменных своими данными
copy .env.sample .env- Не забудьте создать БД
- Активируйте миграции
python manage.py migrate- Зарегистрируйте суперпользователя и наполните БД данными (выполнять по очереди) python manage.py add_objects выполнить только после успешной регистрации и изменении почты на свою
python manage.py csu
python manage.py create_group
python manage.py add_objects
- Запускайте проект
python manage.py runserver- Перейдите по ссылке
http://127.0.0.1:8000/Требования Docker 20.10+ docker-compose 1.29+
Запуск проекта
- Клонируйте репозиторий:
git clone git@github.com:AlexKozhanov/TF4.git- Создайте файл .env из копии файла .env.sample и вставьте значения переменных своими данными
copy .env.sample .env- Запустите проект
docker-compose up --build- Проект будет доступен по адресу: http://localhost:8000
- Подключитесь к своему серверу:
ssh user_name@your_server_ip- Запустите необходимые обновления
sudo apt update && sudo apt upgradeinstall docker.io docker-compose- Настройте брандмауэр и откройте необходимые порты
sudo ufw status
sudo ufw enable #in case firewal is turned off
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp- Клонируйте репозиторий:
git clone https://github.com/AlexKozhanov/TF4.git- Перейдите в каталог проекта и настройте переменные env в соответствии с .env.sample:
cd tf4/
nano .env- Запустите контейнер:
docker-compose up- Поздравляю! Проект успешно запущен! Чтобы воспользоваться всеми возможностями, перейдите по ссылке http://IP_SERVER и создайте учетную запись пользователя.
- Линтинг кода
- Запуск тестов
- Сборка Docker-образов
- Пуш образов в Docker Hub
- Автоматический деплой на сервер
Тестирование доступно командой:
python manage.py testЧтобы был.
Ооочень нужен
- Добавить крутое README
- Сверстать сайт для ведения личного дневника
- Django startapp users and diary
- Настроить Django шаблоны и Bootstrap стили (min-версия)
- Подключить сайт к админке Django
- Подвязать CRUD
- Настроить просмотр записи в удобном интерфейсе
- Добавить права на CRUD операции (доп-но добавить в команды)
- Использовать Bootstrap для создания адаптивного и привлекательного интерфейса
- Подкрутить адаптивный и современный дизайн в пользовательский интерфейс с использованием Django шаблонов и Bootstrap стилей (max-версия)
- Работа сдана в виде PR, в коммиты не попали игнорируемые файлы, в проект добавлен .gitignore
- Информация о проекте собрана в README
- В проекте используется фреймворк Django для бэкенда, HTML/Bootstrap для фронтенда, СУБД Postgres в качестве БД
- Все секреты собраны в .env, в проекте есть шаблон для .env
- Реализована регистрация и авторизация пользователя в системе
- Реализованы модели личного дневника, для которых реализован CRUD: авторизованные пользователи могут добавлять новые записи в дневник, редактировать существующие записи (только свои) и удалять ненужные записи.
- Настроена административная панель
- Используется Docker для упаковки приложения и БД
- добавить тесты
- Настроены права доступа
- Пользователи могут просматривать список всех своих записей
- Пользователи могут просматривать отдельные записи в подробном виде
- Реализована возможность поиска записей по заголовку или содержимому в интерфейсе сайта
- Alex — Всё-на-свете Engineer
- Вдохновение и банка пива