Você está na página 1de 14

Autenticando, Autorizando e

Disponibilizando
Sumário
● Como começar um projeto
do zero

Autenticação
O que vamos

● Autorização
ver hoje?
Começando um projeto
Primeiros Passos 👣
● Dentro da pastinha do projeto rode o comandinho para
começar uma aplicação node.js

npm init -y (o -y cria um package.json com configurações padrão)

● Após, rode o comando para criar o arquivo de configuração do


typescript

tsc --init
tsconfig.json 📝
● Deixar o arquivo com as seguintes configurações:

{
"compilerOptions": {
"target": "es6", /* Specify ECMAScript target version */
"module": "commonjs", /* Specify module code generation */
"sourceMap": true, /* Generates corresponding '.map' file. */
"outDir": "./build", /* Redirect output structure to the directory. */
"rootDir": "./src", /* Specify the root directory of input files. */
"removeComments": true, /* Do not emit comments to output. */
"noImplicitAny": true, /* Raise error on declarations with an implied 'any' type.
*/
}
}
Instalando as dependências 💾
● Typescript
npm i typescript -D

● ts-node-dev
npm i ts-node-dev -D

● Express & Cors

npm i express cors

npm i @types/express @types/cors -D


Instalando as dependências 💾
● Knex e MySQL
npm i knex mysql

npm i @types/knex -D

● Dotenv

npm i dotenv
Scripts 📜

"scripts": {
"dev": "ts-node-dev . /src/index.ts",
"start": "tsc && node . /build/index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
dotenv 🤫

DB_HOST =

DB_USER =

DB_PASS =

DB_NAME =

// DB_HOST: adicionar o endereço do localhost

// DB_USER: adicionar o user

// DB_PASS: adicionar a senha

// DB_NAME: adicionar o schema


.gitignore ❌

● Crie o gitignore e adicione a ele:

node_modules
package-lock.json
build
.env
index.ts 🏁
import express, { Express } from "express"; const app: Express = express();
import knex from "knex"; app.use(express.json());
import cors from "cors"; app.use(cors());
import dotenv from "dotenv";
import { AddressInfo } from "net"; const server = app.listen(process.env.PORT || 3003, () => {
if (server) {
dotenv.config(); const address = server.address() as AddressInfo;
console.log(`Server is running in http://localhost:
export const connection = knex({ ${address.port}`);
client: "mysql", } else {
connection: { console.error(`Failure upon starting server.`);
host: process.env.DB_HOST, }
port: 3306, });
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME,
},
});
Instalando as dependências para autenticação
💾● uuid
npm i uuid

npm i @types/uuid -D

● Bcrypt

npm i bcryptjs

npm i @types/bcryptjs -D

● JWT

npm i jsonwebtoken

npm i @types/jsonwebtoken
Obrigado!

Você também pode gostar