Извините, если некоторые из этих вопросов немного любительские sh, я начинающий разработчик с несколькими достойными проектами за моим плечом. Если бы вы могли помочь ответить на пару из этих вопросов, это было бы невероятно полезно.
Я пытаюсь заняться довольно амбициозным проектом для моего уровня квалификации, и мне нужно помочь выяснить шаблоны проектирования, которые я должен использовать , Я строю этот проект специально для презентации, которую я должен сделать для компании, для которой я сейчас нахожусь в процессе собеседования. Как я уже сказал в заголовке, технический стек, который я хочу использовать, будет:
React,
Redux,
Flask / Python,
PostgreSQL,
И я хочу разместить его на Heroku.
Я уже создавал приложение на основе React / Redux, но в основном я использовал localalstorage и Redux в качестве псевдобазы данных / бэкэнда. Сейчас моя цель - создать полнофункциональное одностраничное приложение, но я хочу убедиться, что я принимаю правильные проектные решения на ранней стадии, чтобы сделать мой код максимально профессиональным.
Я хочу создать простую задачу трекер. Сейчас я просто хочу создать проект, в котором вы можете войти в систему, создать проект (который является просто набором заявок), создать заявки и иметь возможность обновлять эти проекты / заявки. Пока что между пользователями не будет никаких взаимодействий, т.е. пользователи смогут видеть и взаимодействовать только с проектами и заявками, которые они сами создали, но в конечном итоге я хочу, чтобы пользователи могли сотрудничать, назначать друг другу заявки, приглашать друг друга работать над тем же проектом и т. д. c.
У меня возникли проблемы с концептуализацией того, как приложение на одной странице вписывается в архитектуру classi c MVC. Мне кажется, что одностраничные приложения вообще не следуют архитектуре MVC. Большинство учебников по flask, которые я могу найти, создают простые веб-серверы, которые обслуживают страницу HTML каждый раз, когда делается новый HTTP-запрос. Тем не менее, это не имеет смысла с одностраничным приложением, верно? Все дело в том, что все приложение загружается одновременно, поэтому вам не нужно постоянно запрашивать новые веб-страницы.
Как тогда работает маршрутизация? Я использовал React Router в своем первом проекте, но он не взаимодействует с бэкэндом, он просто отображает новый компонент на основе URL. Итак, когда это произойдет, должно ли хранилище Redux сделать http-запрос на данные, которые ему нужны? Если это так, разве это не противоречит цели одностраничного приложения, которое ограничивает количество запросов к бэкэнду? Должен ли я просто сделать один HTTP-запрос в начале для всех данных и сохранить его в хранилище Redux?
Я читал, что некоторые одностраничные приложения на самом деле не являются одностраничными, а фактически разделены в несколько небольших кусков. Это рекомендуемый подход? Разве я не должен стремиться сделать действительно одностраничное приложение для впечатления будущих интервьюеров?
Имеет ли смысл использовать PostgreSQL? Я действительно выбрал только PostgreSQL, потому что это база данных, используемая в большинстве уроков по Heroku, но можно использовать mysql
Еще раз извините за неопределенную, общую и любительскую sh природу некоторых из этих вопросов, но я действительно хочу сделать этот проект великолепным.