- ЯП - Python
3.10 - Стек технологий для реализации бэкенд:
FastAPI+SQLAlchemy - База данных -
PostgreSQL - Развертывание проекта с помощью
Docker(Docker-Compose)
- создание, изменение и удаление постов
- создание поста
- входные данные
- автор поста
- тема поста
- содержимое поста
- выходные данные
- успешность выполнения
- входные данные
- изменение поста
- входные данные
- идентификатор поста
- автор поста
- тема поста
- содержимое поста
- выходные данные
- успешность выполнения
- входные данные
- удаление поста
- входные данные
- идентификатор поста
- выходные данные
- успешность выполнения
- входные данные
- создание поста
Фронтенд (работа с браузером) реализовывается средствами бэкенда (например, с использованием Jinja)
- отображение постов на странице веб-браузера
- отображение лайков, поставленных конкретному посту
- модификация количества лайков
- увеличение количества лайков
- входные данные
- идентификатор поста
- выходные данные
- успешность выполнения
- входные данные
- уменьшение количества лайков
- входные данные
- идентификатор поста
- выходные данные
- успешность выполнения
- входные данные
- увеличение количества лайков
- идентификатор поста
- тему поста
- содержимое поста
- количество лайков
- автора поста
- дату публикации
- реализация дополнительного функционала за пределами указанного ТЗ
- использование сериализаторов/десериализаторов
- использование миграций
- Клонируйте репозиторий:
git clone ... - Перейдите в папку проекта
- Создайте файлы
.db-envи.post_manager-envс вашими значениями - Запустите команду докера:
docker-compose ud -d --build - Откройте в браузере ссылку http://localhost:8501. Откроется web приложение для взаимодействия
- Так же есть swagger http://localhost:8080/docs
POSTGRES_USER=имя-пользователя
POSTGRES_PASSWORD=пароль
POSTGRES_DB=название-БД
PGDATA=/var/lib/postgresql/data/pgdataPOSTGRES_USER=имя-пользователя
POSTGRES_PASSWORD=пароль
POSTGRES_HOST=название-контейнера-с-БД
POSTGRES_DB=название-БДalembic upgrade head
alembic history
alembic current
alembic revision --autogenerate -m "Оставляйте осмысленное описание изменений"
alembic downgrade -1
- Откатить миграцию
alembic downgrade -1 - Удалить файл миграции
Если не делать откат, то будет конфликт миграций alembic
Все настройки линтера находятся в файле .flake8
- offset для crud операций на стороне backend'a
- кеширование запросов
- аутентификация и авторизация пользователей
- страница регистрации/аутентификации
- получение автора из сессии после аутентификации/авторизации
- страница автора
- редактирование
- удаление
- профиль
- страница постов
- обновление данных поста
- удаление поста
- комментирование постов