На текущий момент реализован набор фич описанный в релизе 0.1.0
А что надо?
[x] Избавится от рендера html на стороне django (отдавать html c Vue/React/Svelte SPA)
[x] Добавить api + swagger на методы для Чата, Истории сообщений, Авторизации по oauth2
[x] Интегрировать фронт с бэком по rest API
[ ] Согласовать авторизацию по oauth2 между фронтом и бэком
Важные детали
Сейчас текущее состояние чата пользователя как авторизованного, так и неавторизованного хранится в session на бэке, при переезде на REST нужно будет перенести логику хранения состояния чата на клиент. Нужно выбрать между Local Storage и Session Storage . Что бы я выбралЯ по фронту не эксперт, но, на мой взгляд, предпочтительнее Local Storage, т.к. не должно быть различий между вкладками иначе сломается история сообщений у авторизованного пользователя.Схема словаря для хранения состояния чата
{"messages": [{"role": "user", "content": "my good question"},{"role": "assistant", "content": "its perfect answer"}...]}
Oauth2 при использовании SPA с REST API, я еще глубоко не вникал в реализацию, но нашел хорошую статью на эту тему, думаю, реализация будет на её основе.
Swagger для REST API, при его появлении будет доступен как на проде так и при локальном запуске по /api/v1/docs/swagger/
Что сейчас?
На текущий момент реализован набор фич описанный в релизе 0.1.0
А что надо?
Важные детали
Что бы я выбрал
Я по фронту не эксперт, но, на мой взгляд, предпочтительнее Local Storage, т.к. не должно быть различий между вкладками иначе сломается история сообщений у авторизованного пользователя.Схема словаря для хранения состояния чата
{"messages": [{"role": "user", "content": "my good question"},{"role": "assistant", "content": "its perfect answer"}...]}Swagger для REST API, при его появлении будет доступен как на проде так и при локальном запуске по /api/v1/docs/swagger/