/authjs-prisma-template

Template de Autenticação usando Authjs (former next-auth), prisma e postgress.

Primary LanguageTypeScript

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:developerdeck101@127.0.0.1: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