Какое-то время я хотел сделать что-то другое, и некоторое время назад (более 4 лет) я с некоторым успехом использовал KeystoneJS (версия 3. *) в экспериментальном проекте. Я выбрал это решение, так как я был единственным, кто разработал полноценное приложение для управления недвижимостью, и у меня было много задач на работе. Этот опыт был действительно хорош для меня, так как это был мой первый опыт работы с CMS на основе Node, а также я впервые познакомился с Heroku и MongoDB. В настоящее время KeystoneJS стремительно развивается с конечными точками отдыха, интеграцией с GraphQL и коннекторами с MongoDB и PostgreSQL. Просто продолжая исследовать, я случайно прочитал о Страпи. На этот раз я хотел проверить это и разработать небольшой проект электронной коммерции (личный и экспериментальный). Поэтому я имел в виду следующее:
- Минимальная стоимость, по крайней мере, до тех пор, пока не удастся получить удаленную поддержку, поскольку это было больше похоже на исследование, означает Heroku для сервера и PostgreSQL для БД (бесплатное дополнение) и Mailjet в качестве почтовой службы (снова бесплатное дополнение с уровень бесплатного пользования до 200 писем в день и 6000 писем в месяц).
- Возможность без особых проблем перейти на любую базу данных.
- Возможность отделить API и клиентский уровень, если Restful, то отлично. Strapi генерирует маршруты по умолчанию (POST, GET (все и один), PUT, DELETE) для любой создаваемой вами коллекции. Вы также можете создавать свои конечные точки, а также изменять и вставлять бизнес-логику в любой из маршрутов по умолчанию.
- Было бы здорово интегрировать GraphQL, преимущества этого хорошо документированы и представляют собой отдельную статью.
- Простое создание административного интерфейса и управление данными.
- Простое управление ролями и разрешениями.
- Интеграция OAuth.
- Простое создание пользовательского интерфейса, поэтому выбрали NG-Zorro, так как у них есть большой набор компонентов на выбор, и они казались интересными.
Учитывая все вышеперечисленные факторы, я предпочел Strapi другим, так как я видел здесь растущее сообщество. Также я выбрал Angular 9 для клиентского уровня, так как это знакомая территория из-за моей работы в CareStack. В следующей серии я расскажу о начальных этапах настройки и о том, что нужно помнить. Я планирую, что это будет серия из трех частей:
- Введение (это эта статья)
- Первоначальная установка и разработка (я предоставлю ссылку, как только опубликую)
- Развертывание и продвижение (я предоставлю ссылку, как только опубликую)
Это может занять некоторое время, так как у нас есть несколько важных предстоящих релизов на работе, но WFH, что означает меньше времени, затрачиваемого на путешествия, поездки и т. Д. Я должен быть в состоянии выжать немного времени и энергии для этого обучения. Это то, что я мог бы использовать и на работе, и в конечном итоге должен положительно повлиять на любые интересные продукты SaaS, которые вы в конечном итоге создадите в своей карьере.