Мне нравится, как Kent C создал новый стек с его потрясающим выбором инструментов, пожалуйста, прочитайте его и изучите варианты.
Однако это натолкнуло меня на мысль написать, что я выберу, если захочу начать проект. просто задокументировать мои мысли и получить ваши идеи, если вы хотите поделиться.
- Фреймворк: NextJS! Я бы пока не стал использовать все экспериментальные функции приложения, однако мне нравится, насколько стабильным был Nextjs, и это дает мне уверенность при запуске нового проекта.
Кроме того, знакомство разработчиков с этим фреймворком упрощает задачу. сотрудничать в команде и вносить совместный вклад. - Fly.io или AWS ECS, я имею в виду, что я люблю их обоих, если это огромный проект, конечно, я выбираю AWS, а если он меньше, я предпочитаю fly.io.
Я использую fly.io для нескольких своих проектов, таких как Mockland.dev, и я очень доволен их обслуживанием. - Postgres: я не считаю себя первопроходцем, мне нравится, как Kent C использует SQLite и LiteFS, однако я все еще более уверен в Postgres.
- Grafana, Fly.io предоставляет его из коробки, в чем я особо не разбираюсь, но его легко иметь и отслеживать, если вы когда-нибудь задумывались об этом.
- Меня восхищает GitHub Actions, тот факт, что им так легко пользоваться и он работает так, как вы этого хотите.
- Аутентификация по паролю,старомодный JWT и использование PassportJS. он никогда не подводил меня, прост и удобен в использовании. Сказав это, конечно, если ваш проект является масштабируемым, вероятно, лучше использовать Auth Providers, auth0 или okta.
- Для электронных писем о транзакциях я по-прежнему пользуюсь sendinblue, хотя бесплатная версия по-прежнему достаточно хороша для большинства хобби-проектов. и если вы хотите большего, их цены кажутся достаточно разумными.
- Formik для реализации форм прост и элегантен, и я обнаружил, что многие разработчики знакомы с ним, и он ускоряет процесс.
- База данных ORM с Prisma, конечно же, использовала его, и он мне очень понравился, намного лучше, чем Sequelize. Я имею в виду использование NextJS Apis и Prisma прямо здесь, это тоже отличный опыт. Если логика вашего бэкенда не так уж сложна, возможно, стоит просто использовать NextJS Apis, а если нет. Я бы вошел в Fastify и отделил серверную часть от внешнего репозитория.