Хочу создать личный сайт, где будет возможность вносить изменения. То есть, насколько я понимаю — динамический сайт.
Вопрос 1: Небольшое отступление: CRUD todo app на React можно считать как-то связанным с CMS?
Если в самом приложении есть возможность вносить изменения и редактировать содержимое, это CMS?
Окей, перехожу к следующему:
У меня есть опыт с React, Mobx, firebase. Пробовал делать приложение и с написанием серверной части, с использованием MongoDB, graphql, Apollo. Немного помогло разобраться как это работает.
Но теперь всплыло много вопросов, насчёт того, как я могу реализовать свой сайт.
На этом сайте я хочу предоставить информацию о себе, то есть, это будет находиться на главной титульной странице. Там же и будет раздел со ссылками на мои роды деятельности. Естественно, буду юзать роутинг.
Так вот, на такие деятельности, возьму на пример Фронтенд Разработка, я хочу добавить возможность расширять и редактировать своё портфолио: создать новый проект, редактировать существующий и т.д. То есть, принцип CRUD.
В случае с другой деятельность, фотографией, история та же самая: создать новый альбом/подборку, задать ей название и описание, и т.д.
Вопрос 2: Чтобы мне сделать такой функционал, грубо говоря, могу я использовать тот же принцип, что и при создании CRUD todo приложения? Или же, мне нужно какая-то CMS, админка, где я смогу редактировать содержимое сайта?
Естественно, зачем мне такой функционал. Ну во первых, чтобы каждый раз в код ручками не лезть для внесения изменений на сайт. Ну а во вторых, сайт не будет ограничиваться главной страницей и портфолио с описанием из каждой деятельности.
В планах у меня есть сделать функционал шире. Хочу добавить блог. На этом пока остановлюсь.
Вопрос 3: Какие есть готовые/хорошие решения для такой задачи? Что мне лучше делать?
Да, слышал я о инструментах как Gatsby, Strapi.
Подходят ли они мне, стоит ли с ними разобраться и их использовать?
Да, насколько я понимаю, естественно для этого всего нужна будет база данных, чтобы хранить инфу. И фотки будут же храниться там. Хочу использовать firebase.
Вопрос 4: Что посоветуете, правильно ли я вообще понимаю CMS, правильно ли подхожу к задаче?
База для визитки не нужна. Исходники можно хранить в Markdown текстовых файлах. Поставьте на локалку любой генератор статических сайтов, хоть и на Реакт и заливайте на хостинг уже сгенерированную статику. Бесплатно хостить свой личный сайт можно через surge.sh к примеру.
Да, спасибо, но я повторюсь, мне нужно будет не только лендинг сверстать, а хранить и пополнять портфолио, где будут и альбомы фотографий. Плюс к этому, хочу блог, а дальше так же развивать функционал сайта.
Общая схема: в админке есть данные о проектах, клиент их грузит через API и рендерит (можно и SSR). Делаете роут для админки, в которой нужно авторизоваться и там же редактировать контент, который (также, как и с получением, хотя в этом случае SSR кажется более лаконичным, на мой взгляд) изменяется в бд.
Лучше всего забить да взять и сверстать статический ленд (можно и на React, но все та же статика) и разместить да хоть на том же github.io.