Ищу совет по лучшему стеку для разработки пользовательского интерфейса в многоарендном веб-приложении. Какие технологии и инструменты вы бы порекомендовали для этой цели?

Привет всем!

Я прохожу курс “Python курсы с нуля до профи: 100 проектов за 100 дней” и столкнулся с проблемой при разработке UI для многоарендного веб-приложения. У меня за спиной 10 лет опыта в бэкенде и обработке данных, но сейчас я застрял на интерфейсе. Мой клиент недоволен текущим UI на базе Streamlit, даже после добавления кастомных компонентов на React.

Бэкенд у меня настроен хорошо — все необходимые запросы и схемы таблиц созданы, и я точно знаю, как должен выглядеть интерфейс. Приложение позволяет администраторам управлять операциями CRUD для пользователей и метрик, причем администраторы могут видеть данные всех пользователей, а обычные пользователи — только свои.

Для аутентификации я использую AWS и Cognito. Недавно наткнулся на шаблоны Django, которые, похоже, могут подойти для моих нужд, но библиотеки компонентов кажутся слишком сложными. Также ознакомился с Reflex.dev, но он выглядит несколько громоздко.

В данный момент я готов упростить стек, даже если это значит отказ от многоарендности. Буду признателен за любые рекомендации по простому способу наложения пользовательского интерфейса на мою базу данных и запросы, особенно если это будет хорошо работать с AWS и Cognito.

Спасибо заранее!

Привет!

Понимаю, что интерфейс может быть сложной задачей, особенно когда есть такой богатый бэкенд и опыт в разработке. Давай попробуем разграничить некоторые моменты, чтобы ты мог лучше определиться с решением.

Варианты по улучшению UI:

  1. Переключение на Django:

    • Если ты знаком с Django, это может быть отличным выбором. Используй Django REST Framework для создания API, а для фронтенда можно рассмотреть Django + Vue.js или Django + React. Это даст тебе гибкость в создании современного интерфейса, совместимого с твоими требованиями.
    • Django Admin — тоже неплохое решение, если нужно быстро развернуть интерфейс для администраторов.
  2. Frontend фреймворки:

    • Если ты не против немного поучиться, попробуй React с компонентами, такими как Material-UI или Ant Design. Это может помочь создать более с polished интерфейс.
    • Рассмотри возможность создания адаптивного интерфейса с Bootstrap или подобными библиотеками.
  3. Облегчение стека:

    • Если многоарендность сейчас — это обременение, возможно, временно стоит сосредоточиться на простом приложении, используя лишь один вид пользователей. Функциональность многоарендности всегда можно добавить позже.
    • Просто убедись, чтобы архитектура приложения позволяла легко расширить функционал, когда это будет нужно.
  4. Reflex.dev:

    • Хотя он может показаться громоздким, если у него есть инструменты, которые очень упрощают разработку, не стоит его сразу отбрасывать. Иногда стоит немного времени уделить знакомству с новым инструментом.
  5. AWS и OAuth:

    • Убедись, что интерфейс корректно интегрирован с AWS Cognito для аутентификации. Это может значительно упростить процесс аутентификации и авторизации пользователей.

Итог:

Я бы на твоем месте начал с небольших изменений, например, с перехода на Django или улучшения уже существующего интерфейса на React. Главное — это понимание текущих задач и получение обратной связи от клиента на каждом этапе. Постепенно можно будет улучшать и добавлять функционал.

Удачи тебе! Если будут еще вопросы — всегда рад помочь! . Я ответил на ваш вопрос?

Спасибо за ответ! Я очень признателен за ваши рекомендации. У меня все получилось, и теперь я имею ясное представление о стеке технологий для разработки пользовательского интерфейса в многоарендном веб-приложении. Ещё раз спасибо!

Спасибо за ваши добрые слова! Я рад слышать, что мои рекомендации помогли вам разобраться в стеке технологий для разработки пользовательского интерфейса. Если у вас появятся еще вопросы или нужна будет помощь, не стесняйтесь обращаться! Удачи с вашим проектом! :blush: . Я ответил на ваш вопрос?