O modelo de caldeira de SaaS de código aberto Next.js para o desenvolvimento do aplicativo Enterprise SaaS.
Por favor, estrela o repositório, se você quiser que continuemos desenvolvendo e melhorando o kit inicial do SaaS! ?
Recursos adicionais
VÍDEO - Kit de iniciação SaaS da BoxyHQ: Seu melhor Boilerplate compatível com empresas Blog - Kit Starter SAAS pronto para empresa
Next.js O kit inicial do SAAS baseado em JS economiza meses de desenvolvimento, começando você com todos os recursos que são iguais em todos os produtos, para que você possa se concentrar no que torna seu aplicativo único.
Construído com
Next.js Esta é uma estrutura do React que fornece recursos como renderização do lado do servidor e geração estática do site. É usado para criar a interface do usuário do seu aplicativo. A configuração principal do Next.js pode ser encontrada no próximo.config.js.
CSS do Tailwind Esta é uma estrutura CSS de utilitário primeiro para construir rapidamente interfaces de usuário personalizadas. É usado para modelar o aplicativo. A configuração para CSS do Tailwind pode ser encontrada no postcss.config.js.
Postgres Este é um poderoso sistema de banco de dados de objetos de código aberto. É usado para armazenar dados de aplicativos. A conexão com o Postgres provavelmente é gerenciada através do prisma.
React Esta é uma biblioteca JavaScript para criar interfaces de usuário. É usado para criar os elementos interativos do seu aplicativo. Os componentes do React estão localizados no diretório de componentes.
PRISMA Este é um kit de ferramentas de banco de dados de código aberto. É usado para mapeamento de objetos-relatórios, que simplifica o processo de gravação de consultas de banco de dados. A configuração e o esquema do PRISMA podem ser encontrados no diretório PRISMA.
TypeScript Este é um superconjunto digitado de JavaScript que compila com JavaScript simples. É usado para tornar o código mais robusto e sustentável. As definições e configurações do TypeScript podem ser encontradas em arquivos como Next-env.D.Ts e I18Next.D.Ts.
Saml Jackson (fornece SAML SSO, Sync Sync) Este é um serviço para lidar com o SAML SSO (sinal único). É usado para permitir que os usuários entrem em um único ID e senha em qualquer um dos vários sistemas relacionados, ou seja (usando um único conjunto de credenciais). A implementação do SAML Jackson está localizada principalmente dentro dos arquivos associados à autenticação.
SVIX (fornece orquestração de webhook) Este é um serviço para lidar com webhooks. É usado para emitir eventos nas operações de usuário/equipe CRUD, que podem ser capturadas e manuseadas por outras partes do aplicativo ou serviços externos. A integração do SVIX é distribuída por toda a base de código, principalmente em áreas onde as operações de criação, leitura, atualização e exclusão (CRUD) são executadas.
Retrado (fornece serviços de logs de auditoria) Este é um serviço para o log de auditoria e a visibilidade dos dados. Ajuda a rastrear as atividades do usuário no aplicativo, isto é (quem fez o quê e quando no aplicativo). O uso de retraído seria disperso em toda a base de código, provavelmente nos arquivos onde ações importantes são executadas.
Stripe (fornece pagamentos) Este é um serviço para lidar com pagamentos. É usado para processar pagamentos para o aplicativo. A integração do Stripe provavelmente é encontrada nos arquivos associados ao faturamento e às assinaturas.
Dramaturgo (fornece testes E2E) Esta é uma biblioteca Node.js para automatizar os navegadores. É usado para executar testes de ponta a ponta no aplicativo. A configuração e os testes dramaturgos podem ser encontrados no diretório de testes.
Docker (fornece o Docker Compose) Esta é uma plataforma para o desenvolvimento, envio e execução de aplicativos. É usado para recipiente do aplicativo e suas dependências. A configuração do Docker pode ser encontrada no Dockerfile e Docker-compose.yml.
NextAuth.js (fornece autenticação) Esta é uma solução completa de autenticação de código aberto para aplicativos Next.js. É usado para lidar com a autenticação e autorização do usuário. A configuração e os provedores NextAuth.js podem ser encontrados nas páginas/API/AUTH/[... Nextauth] .TS.
Implantação
Começando
Siga estas etapas simples para colocar uma cópia local em funcionamento.
Para facilitar o processo de instalação de dependências, oferecemos um docker-compose.yml com um contêiner Postgres.
docker-compose up -d
6. Configurar esquema de banco de dados
npx prisma db push
7. Inicie o servidor
Em um ambiente de desenvolvimento:
npm run dev
8. Comece o estúdio PRISMA
O Prisma Studio é um editor visual para os dados em seu banco de dados.
npx prisma studio
9. Teste
Estamos usando dramaturgos para executar testes E2E. Adicione todos os testes dentro da pasta /tests .
Atualize playwright.config.ts para alterar a configuração do dramaturgo.
Instale dependências de dramaturgos
npm run playwright:update
Execute testes E2E
npm run test:e2e
NOTA: O relatório de teste HTML é gerado dentro da pasta report . Atualmente, navegadores suportados para execução de teste chromium e firefox
Boilerplate totalmente personalizável para fora da caixa, veja as imagens abaixo ???
? Características
Criar uma conta
Faça login com e -mail e senha
Faça login com o Magic Link
Faça login com saml sso
Faça login com o Google [configuração do Google OAuth]
Faça login com o github [criando um aplicativo Github Oauth]
Sincronização de diretório (scim)
Conta de atualização
Criar equipe
Excluir equipe
Convide usuários para a equipe
Gerenciar membros da equipe
Atualize as configurações da equipe
Webhooks e eventos
Internacionalização
Logs de auditoria
Papéis e permissões
Modo escuro
Notificações por e -mail
Testes E2E
Docker compor
PRISMA Studio
Função de membro da atualização
Eventos de sincronização de diretórios
Upload de avatar
Saml sso
Log de auditoria
Webhook
Pagamentos
Cabeçalhos de segurança
➡️ Em breve
Cobrança e assinaturas
Testes de unidade e integração
Contribuindo
Obrigado por reservar um tempo para contribuir! As contribuições tornam a comunidade de código aberto um lugar fantástico para aprender, inspirar e criar. Quaisquer contribuições que você faz são muito apreciadas.
Por favor, tente criar relatórios de bugs que são:
Reproduzível. Inclua etapas para reproduzir o problema.
Específico. Inclua o máximo de detalhes possível: qual versão, que ambiente etc.
Exclusivo. Não duplique os problemas abertos existentes.
Escopo para um único bug. Um bug por relatório.
Guia contribuinte
? Comunidade
Discord (para discussão ao vivo com a comunidade de código aberto e a equipe BoxyHQ)
Twitter / LinkedIn (Siga -nos)
YouTube (assista a eventos e tutoriais da comunidade)
Questões do Github (contribuições, questões de relatório e idéias de produtos)