Открытый исходный код Next.js SaaS Coilerplate для разработки приложения Enterprise SaaS.
Пожалуйста, снимайте репо, если вы хотите, чтобы мы продолжили развивать и улучшать SaaS Starter Kit! ?
Дополнительные ресурсы
Видео - Стартер SaaS от Box Блог - готовый к предприятию SaaS Starter Kit
Next.js SaaS Starter Kit экономит вам месяцы разработки, запустив вам все функции, которые одинаковы в каждом продукте, поэтому вы можете сосредоточиться на том, что делает ваше приложение уникальным.
Построен с
Next.js Это структура React, которая предоставляет такие функции, как рендеринг на стороне сервера и статическая генерация сайта. Он используется для создания пользовательского интерфейса вашего приложения. Основную конфигурацию для следующей.js можно найти в next.config.js.
Tailwind CSS Это коммунальная структура CSS для быстрого создания пользовательских интерфейсов. Он используется для укладки приложения. Конфигурацию для Tailwind CSS можно найти на postcss.config.js.
Postgres Это мощная система баз данных с открытым исходным кодом. Он используется для хранения данных приложения. Связь с Postgres, вероятно, управляется через Prisma.
React Это библиотека JavaScript для создания пользовательских интерфейсов. Он используется для создания интерактивных элементов вашего приложения. Компоненты React расположены в каталоге компонентов.
Prisma Это инструментарий с открытым исходным кодом. Он используется для картирования объекта, которое упрощает процесс написания запросов базы данных. Конфигурация и схемы Prisma можно найти в каталоге Prisma.
TypeScript Это напечатанный суперсет JavaScript, который компилируется для простого JavaScript. Он используется для того, чтобы сделать код более надежным и поддерживаемым. Определения и конфигурации TypeScript можно найти в таких файлах, как Next-env.d.ts и i18next.d.ts.
SAML Jackson (предоставляет SAML SSO, Directory Sync) Это услуга для обработки SAML SSO (единый вход). Он используется, чтобы позволить пользователям входить в систему с одним идентификатором и паролем в любую из нескольких связанных систем, т.е. (используя один набор учетных данных). Реализация SAML Jackson в основном расположена в файлах, связанных с аутентификацией.
SVIX (предоставляет оркестровку Webhook) Это услуга для обработки веб -крючков. Он используется для излучения событий в операциях пользователя/команды CRUD, которые затем могут быть пойманы и обработаны другими частями приложения или внешних служб. Интеграция SVIX распространяется по всей кодовой базе, в первую очередь в областях, где выполняются операции создания, чтения, обновления и удаления (CRUD).
Посмотрен (предоставляет службу журналов аудита) Это услуга для регистрации аудита и видимости данных. Это помогает отслеживать деятельность пользователей в рамках приложения, т.е. то, кто сделал то, что и когда в приложении). Использование пересмотренного будет рассеяно по всей кодовой базе, вероятно, в файлах, где выполняются важные действия.
Stripe (предоставляет платежи) Это услуга для обработки платежей. Он используется для обработки платежей за приложение. Интеграция полосы, вероятно, обнаружена в файлах, связанных с выставлением счетов и подписок.
Playwright (предоставляет тесты E2E) Это библиотека Node.js для автоматизации браузеров. Он используется для запуска сквозных тестов в приложении. Конфигурация и тесты драматурга можно найти в каталоге тестов.
Docker (предоставляет Docker Compose) Это платформа для разработки, доставки и запуска приложений. Он используется для контейнерирования приложения и его зависимостей. Конфигурацию Docker можно найти в DockerFile и Docker-Compose.yml.
NextAuth.js (обеспечивает аутентификацию) Это полное решение для аутентификации с открытым исходным кодом для приложений Next.js. Он используется для обработки аутентификации и авторизации пользователя. Конфигурацию и поставщики NextAuth.js можно найти в файле страниц/API/Auth/[... NextAuth] .ts.
Развертывание
Начиная
Пожалуйста, следуйте этим простым шагам, чтобы получить локальную копию и запуск.
Чтобы упростить процесс установки зависимостей, мы предлагаем docker-compose.yml с контейнером Postgres.
docker-compose up -d
6. Настройка схемы базы данных
npx prisma db push
7. Запустите сервер
В среде разработки:
npm run dev
8. Начните студию Prisma
Prisma Studio является визуальным редактором данных в вашей базе данных.
npx prisma studio
9. Тестирование
Мы используем Playwright для выполнения тестов E2E. Добавьте все тесты в папку /tests .
Обновите playwright.config.ts , чтобы изменить конфигурацию драматурга.
Установите драматургии зависимости
npm run playwright:update
Запустите тесты E2E
npm run test:e2e
Примечание. Отчет о тестировании HTML генерируется в папке report . В настоящее время поддерживаемые браузеры для выполнения тестирования chromium и firefox
Полностью настраиваемый шаблон из коробки, см. Изображения ниже ???
? Функции
Зарегистрироваться
Войдите с электронной почтой и паролем
Войдите с Magic Link
Войдите с SAML SSO
Войдите в Google [Настройка Google OAuth]
Войдите с GitHub [Создание приложения GitHub OAuth]
Синхронизация каталога (SCIM)
Обновить учетную запись
Создать команду
Удалить команду
Пригласить пользователей в команду
Управлять членами команды
Обновить настройки команды
Webhooks & Events
Интернационализация
Журналы аудита
Роли и разрешения
Темный режим
Уведомления по электронной почте
E2E тесты
Docker Compose
Prisma Studio
Обновить роль участника
Синхронизация каталогов
Загрузка аватара
SAML SSO
Журнал аудита
Webhook
Платежи
Заголовки безопасности
➡ скоро придет
Биллинг и подписки
Модульные и интеграционные тесты
Внося
Спасибо, что нашли время внести свой вклад! Вклад делает сообщество с открытым исходным кодом фантастическим местом для изучения, вдохновения и создания. Любой вклад, которые вы вносите, высоко ценится.
Пожалуйста, попробуйте создать отчеты об ошибках:
Воспроизводимый. Включите шаги, чтобы воспроизвести проблему.
Специфический. Включите как можно больше деталей: какая версия, какая среда и т. Д.
Уникальный. Не дублируйте существующие открытые проблемы.
Обработанный на одну ошибку. Одна ошибка за отчет.
Способный гид
? Сообщество
Discord (для живой дискуссии с сообществом с открытым исходным кодом и командой BoxyHQ)
Twitter / LinkedIn (следите за нами)
YouTube (смотреть общественные мероприятия и учебные пособия)
Проблемы GitHub (взносы, вопросы отчета и идеи продукта)