Архитектура мобильных и веб-приложений: React Native, Django, Postgres и Supabase

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

Это рынок, где партнеры могут создавать аккаунты и входить в систему только через веб-сайт (они сами решают, почему так происходит).

Покупатели могут войти в систему только через предоставленное мобильное приложение, построенное на React Native.

Мы используем в основном технологию Django, построенную на базе данных postgres. Она будет содержать большую часть функциональности на стороне сервера и размещать API, которое будет использовать мобильное приложение.

Сейчас я рассматриваю несколько BaaS, и две из них выделяются - FireBase и Supabase.

Что я хочу, чтобы BaaS управлял:

  1. Аутентификация через множество провайдеров (Google, Facebook/Instrgram, iOS, электронная почта и телефон).
  2. Push-уведомления на разных платформах.

У меня довольно ограниченный бюджет - около 60 долларов в месяц.

Сценарий 1:

Разместите мое приложение Django и базу данных на Digital Ocean - это вполне доступно. Затем выберите supabase, чтобы сделать мою автоматизацию и push-уведомления.

Мне нравится такая установка еще и потому, что мой API и база данных могут находиться в одном и том же центре обработки данных и использовать внутренний IP-адрес, что значительно сокращает время ожидания.

Даже те немногие случаи, когда мне нужно взаимодействовать с Supabase, очень и очень редки. В основном во время регистрации, входа в систему и push-уведомлений.

Как мне заставить Supabase работать с аутентификацией пользователей Django?

Что меня должно волновать в этой настройке с точки зрения удобства использования или безопасности?

Если у кого-нибудь есть отличные статьи, которые могут помочь в этом, было бы здорово.

Сценарий 2:

Я игнорирую BaaS и управляю провайдерами аутентификации и Push-уведомлений в каждом конкретном случае.

Что это означает, так это загрузку каждого пакета react native для аутентификации сторонних производителей и их принудительное преобразование в схемы, дружественные Django.

Это значительно упрощает мою архитектуру, но увеличивает количество вещей, которые мне нужно построить / вещей, которые могут пойти не так.

Если у кого-то есть отличные ресурсы о том, как они использовали react native и Django для аутентификации, буду очень благодарен.

Любой совет будет замечательным.

Вернуться на верх