da-maltsev / gpt-django

The main purpose is to give access to interaction with ChatGPT for my friends and relatives. So it's actualy simple django project with templates.
0 stars 1 forks source link

Переезд на REST API. Примерный план #35

Open da-maltsev opened 1 year ago

da-maltsev commented 1 year ago

Что сейчас?

На текущий момент реализован набор фич описанный в релизе 0.1.0

А что надо?

Важные детали

  1. Сейчас текущее состояние чата пользователя как авторизованного, так и неавторизованного хранится в session на бэке, при переезде на REST нужно будет перенести логику хранения состояния чата на клиент. Нужно выбрать между Local Storage и Session Storage .
    Что бы я выбралЯ по фронту не эксперт, но, на мой взгляд, предпочтительнее Local Storage, т.к. не должно быть различий между вкладками иначе сломается история сообщений у авторизованного пользователя.
    Схема словаря для хранения состояния чата {"messages": [{"role": "user", "content": "my good question"},{"role": "assistant", "content": "its perfect answer"}...]}
  2. Oauth2 при использовании SPA с REST API, я еще глубоко не вникал в реализацию, но нашел хорошую статью на эту тему, думаю, реализация будет на её основе.

Swagger для REST API, при его появлении будет доступен как на проде так и при локальном запуске по /api/v1/docs/swagger/

da-maltsev commented 1 year ago

Минимальная часть готова, теперь Svelte отдает контент для anon