GithubHelp home page GithubHelp logo

emersonmota / hp-saas Goto Github PK

View Code? Open in Web Editor NEW

This project forked from devdeck101/hp-saas

0.0 0.0 0.0 799 KB

Nextjs SAAS utilizando o repositório do Start-kit de Authjs

JavaScript 0.15% TypeScript 98.85% CSS 1.01%

hp-saas's Introduction

Pronto para Autenticar Seu Novo Projeto

Este Starter Kit foi desenvolvido para poupar seu tempo, oferecendo tudo o que você precisa para começar a desenvolver seu projeto com segurança.

GitHub last commit GitHub forks GitHub Repo stars GitHub watchers

drawing drawing drawing drawing drawing drawing

drawing Detalhes Explicados no Meu Canal

Youtube Badge YouTube Channel Subscribers YouTube Channel Views

Este é um template de projeto de autenticação e autorização implementado em Next.js e create-next-app. Foi incluído a inicialização com Shadcn-ui, prisma Prisma, Authjs | Next-Auth Authjs utilizando banco de dados PostgreSQL

Tecnologias e Bibliotecas

Next.js Javascript Typescript React

Static Badge Static Badge Static Badge Static Badge Static Badge

Getting Started

Clone o repositório:

git clone https://github.com/devdeck101/authjs-prisma-template.git

Entre na pasta do projeto e instale os pacotes:

npm install

Banco de Dados

O banco de dados utilizado é o PostgreSQL. Você precisará de uma instância dele para executar o projeto. Um arquivo docker-compose.yml está incluído para facilitar a execução de um container Docker.

Container Docker - Docker Compose

Na raiz do projeto, há um arquivo docker-compose.yml com a configuração para um banco de dados PostgreSQL.

Caso não tenha o docker instalado, pode encontrá-lo aqui Get Docker.

Para inicializar o container:

docker compose up -d

Para finalizar o serviço:

docker compose down postgres

Configuração de Envio de E-Mail

É necessário se cadastrar no RESEND e criar uma chave de API para envios de email, incluindo verificação de usuário, autenticação de dois fatores e mudança de senha.

RESEND API KEY

Após logar na sua conta, siga as instruções na imagem abaixo:

image

Variáveis de Ambiente

Renomeie o arquivo .env.example para .env. Depois, modifique as variáveis de ambiente conforme necessário:

Váriável do banco de dados:

# Exemplo utilizando o container Docker disponível
DATABASE_URL="postgresql://developerdeck101:[email protected]:5432/test"
# Ou personalize com suas próprias configurações
DATABASE_URL="postgresql://<user>:<password>@<url>:<port>/<db_name>"

Variável de encriptação do token JWT:

AUTH_SECRET=314FUJnJeO1zGfxpxbmqqxQsBiCl/NwOyJ9AONpG03Y=

Para gerar a chave AUTH_SECRET, utilize o comando:

# Unix 
openssl rand -base64 32

ou

# Windows 
npm exec auth secret

Caso deseje executar em modo produção npm run start, será necessário descomentar a variável:

AUTH_TRUST_HOST=true

Para criar as tabelas do banco de dados, é possível executar os comandos do Prisma ou scripts do projeto.

Static Badge

Tabelas do Banco de Dados

Para criar as tabelas do banco de dados, é possível executar os comandos do Prisma ou scripts do projeto.

Comandos Prisma

Execute o comando:

npx prisma migrate dev

ou

npx prisma db push

Scripts disponíveis

# Cria as tabelas no banco de dados
npm run push-db
# Limpa o banco de dados
npm run clear-db
# Abre o Prisma Studio
npm run studio

Para inicializar o projeto

Modo Desenvolvimento

# Executar o Projeto
npm run dev

Modo Produção

# Construir o projeto
npm run build
# Executar o Projeto
npm run start

Abrir http://localhost:3000 com seu navegador.

Não se esqueça

Siga-me nas Redes Sociais drawing

Youtube Badge Instagram Badge Linkedin Badge Twitter Badge Discord Badge

Apoie o Projeto e o Canal

Youtube Badge Static Badge Static Badge

hp-saas's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.