Jorge-William / project-x

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

Home Page:https://authjs-prisma-template.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pronto para autenticar seu novo projeto

Este Starter-Kit foi desenvolvido para poupar seu tempo. Aqui você encontra o que 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 Tudo explicado nos detalhes 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

Efetuar a clonagem do repositório

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

Após entrar na pasta do projeto, instalar os pacotes:

npm install

Banco de Dados

O banco de dados utilizado no projeto é o PostgreSQL. Você precisa de um instância dele para executar o projeto.

Obs. O projeteto possui um arquivo chamado docker-compose.yml para execução de um container docker explicado abaixo.

Container Docker - Docker Compose

Na raiz do projeto, existe um arquivo docker-compose.yml com as configuração de uma imagem de 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 um cadastro no RESEND e criação de uma chave de API para envios de email que incluem verificação de usuário, autenticação de 2 fatos e mudança de senha.

RESEND API KEY

Após logar na sua conta, siga a imagem abaixo:

image

Variáveis de Ambiente

Modificar|Renomear o arquivo .env.example para .env. Uma vez modificado o arquivo, será necessário modificar algumas variáveis de ambiente:

Váriável do banco de dados:

#Exemplo levando em consideração a utilização do container docker disponível
#DATABASE_URL="postgresql://developerdeck101:developerdeck101@127.0.0.1:5432/test"
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 de AUTH_SECRET, pode utilizar o comando abaixo:

# Unix System
openssl rand -base64 32

ou

# Windows System
npm exec auth secret

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

AUTH_TRUST_HOST=true

As demais váriáveis são auto-explicativas. Qualquer dúvida, entra em contato clicando abaixo

Static Badge

Tabelas do Banco de Dados

Para a criação das tabelas do banco de dados, é possível executar os comando do prisma ou scripts do projeto

Comandos Prisma

Execute o comando

npx prisma migrate dev

ou

npx prisma db push

Scripts disponíveis

# Crias 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

Me seguir nas Redes Sociais drawing

Youtube Badge Instagram Badge Linkedin Badge Twitter Badge Discord Badge

Apoiar o Projeto e o Canal

Youtube Badge Static Badge Static Badge

About

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

https://authjs-prisma-template.vercel.app


Languages

Language:TypeScript 98.3%Language:CSS 1.5%Language:JavaScript 0.2%