Code Monkey home page Code Monkey logo

csu-py-messenger's Introduction

Курс "Разработка интернет-приложений"

Полезные команды

  • Создание миграции
.\venv\Scripts\python.exe -m alembic revision --autogenerate -m "Поменяли password на hashed_password"
  • Заполнение миграций
.\venv\Scripts\python.exe -m alembic upgrade head
  • Запуск докер-контейнеров
docker-compose up -d
  • Запуск воркера celery
python -m celery -A worker worker -l info -Q queue -P solo

1 задание

  1. По аналогии с пользователями, реализовать crud методы для чатов. Все входные и выходные данные должны быть явно прописаны через Pydantic-схемы. При этом get запрос должен возвращать не только информацию о чате, но и список участников-пользователей
  2. Продумать сущность "Сообщение", реализовать методы:
    • ☑️ Отправка сообщения в чат
    • ☑️ Редактирование сообщения
    • ☑️ Удаление сообщения
    • ☑️ Список из N последних сообщений в чате
    • ❌ Список из N чатов, в которых была последня активность

2 задание

  • ☑️ Работу с чатами аналогично перевести на работу с БД - добавить sqlalchemy-модели, миграции, переписать crud-методы

3 задание

  • ☑️ Добавить аутентификацию и работу с текущим пользователем в методы чатов и сообщений
  • ☑️ Реализовать пометку о прочтении сообщения, об изменении сообщения
  • ☑️ (*) Реализовать механизм refresh-token'a

4 задание

  • ❌ Доделать отправку отложенных сообщений (чтобы непосредственно создавались сообщения в БД)
  • ☑️ Доделать работу с вебсокетом, чтобы приходили сообщения о новых сообщениях
  • ❌ (*) Реализовать аутентификацию для вебсокета
  • ❌ Добавить обработку хэштегов в сервисе postprocessor

csu-py-messenger's People

Contributors

cherkasovoff avatar niklyadov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.