Giter Site home page Giter Site logo

authentication_api_nodejs_postgresql's Introduction

Projeto Autenticação Backend completo Express & Typescript

Auth

Sobre o Projeto

Projeto de autenticação backend completo desenvolvido em Node/Express e Javascript. No projeto é incluído CRUD completo de usuário, autenticação via e-mail de usuário e um sistema de recuperação de senha via JWT, totalmente seguro com uso de criptografia dentro do banco de dados para senhas e tokens de acesso ao usuário.

Tecnologias usadas

◼ Nodejs

◼ Express

◼ Sequelize

◼ Bcrypt

◼ Postgresql

◼ Nodemailer

◼ JWT

◼ Nodemon

◼ Dotenv

◼ Cors

◼ Body-Parser

Configurando Banco de Dados Sequelize na sua máquina

É necessário que dentro da pasta src seja criado o arquivo "config.json" de configuração do seu banco de dados, assim como é dado o caminho dentro das configurações do banco e de migrations dentro da pasta ".sequelizerc".

dentro de "config.json" é necessário enviar

{
  "development": {
    "username": "NOME DE USUARIO DE SUA DB",
    "password": "SENHA DE SUA DB",
    "database": "NOME DO BANCO",
    "host": "HOST ONDE ESTÁ RODANDO SUA DB",
    "dialect": "QUAL SEU SQL UTILIZADO(No caso da Aplicação, postgresql)"
  },
  "test": { 
    "username": "NOME DE USUARIO DE SUA DB",
    "password": "SENHA DE SUA DB",
    "database": "NOME DO BANCO",
    "host": "HOST ONDE ESTÁ RODANDO SUA DB",
    "dialect": "QUAL SEU SQL UTILIZADO(No caso da Aplicação, postgresql)"
  },
  "production": {
    "username": "NOME DE USUARIO DE SUA DB",
    "password": "SENHA DE SUA DB",
    "database": "NOME DO BANCO",
    "host": "HOST ONDE ESTÁ RODANDO SUA DB",
    "dialect": "QUAL SEU SQL UTILIZADO(No caso da Aplicação, postgresql)"
  }
}

Dentro de Database/config também é recomendado colocar as informações necessárias de conexão com seu Banco de Dados!

DATABASE_PASSWORD = Senha do seu banco de dados 
DATABASE_USERNAME = Usuário de seu banco de dados
DATABASE_NAME = Nome do seu banco de dados

Criando migrations

1 - Gere sua migration com os atributos que você deseja enviar. Ex:

npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string

2 - Modifique o model criado

3 - Rode a migration

 npx sequelize-cli db:migrate

Configurar Sistema de envio de e-mail via Nodemailer para recuperação de senha

Dentro de utils/Mailer é necessário configurar as informações de configuração de uma hospedagem de envio de e-mails. Para testes, é recomendado utilizar a plataforma do Mailtrap Box

EMAIL_PORT = Porta de e-mail
EMAIL_HOST = Hospedagem E-mail
EMAIL_AUTH_USER = Usuário E-mail
EMAIL_AUTH_PASS = Senha E-mail

Rodando aplicação na sua máquina

1 - Clone o repositório

git clone [email protected]:Routfin/authentication_api_nodejs_postgresql.git

2 - Instalar os pacotes NPM

npm install 

3 - Rodar aplicação em nodemon/localhost

npm start

Contribua com o projeto

1 - Crie um fork do projeto.

2 - git remote add origin urlDoRepositórioDoProjeto.

3 - Faça commits para aprimorar o projeto.

4 - Faça push dessa branch para seu projeto no GitHub.

5 - Abra um Pull Request

authentication_api_nodejs_postgresql's People

Watchers

Ray Junqueira avatar

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.