Atualmente um desenvolvedor Web Fullstack (NodeJS), tenho 3 anos de experiência em programação de robôs industriais, onde desenvolvi habilidade na área de programação de linguagens de alto nível e lógica de programação. Também fiz parte, por 4 anos, de um grupo de pesquisa científica em sistemas neurais com foco em memória, aprendizado e Doença de Alzheimer onde obtive familiaridade com documentações em lingua inglesa e a repetibilidade de protocolos pré-estabelecidos.
Canais de comunicação:
- Typescript
- SQL
- Git
- Typescript
- Node.js
- MVC
- Programação Orientada a Objeto
- MySQL
- Postman
🏆 Cadastro de cliente em banco de dados.
🏆 Validar dados fornecidos como CPF e cruzamento entre CEP e Logradouro.
🏆 Garantir uma sequencia de endpoints percorridos.
- Typescript: versão 3.9.2
- bcryptjs: versão 2.4.3 @types/2.4.2
- dotenv: versão 8.2.0
- express: versão 4.17.1 @types/4.17.6
- jsonwebtoken: versão 8.5.1 @types/8.5.0
- knex: versão 0.20.15 @types/0.16.1
- mysql: versão 2.18.1
- uuid: versão 8.0.0 @types/7.0.3
- jest: versão 26.1.0
No terminal, clone o projeto:
git clone https://github.com/danilomourelle/Provi-Backend.git
Navegue para dentro da raiz do projeto
cd Provi-Backend
Instale as dependências
npm i
Crie um arquivo .env com as configurações do seu banco de dados (preferencialmente MySQL, caso deseje utilizar outro, adaptações no código e dependências serão necessárias)
DB_HOST = seu_endereço_host
DB_USER = seu_usuário
DB_PASSWORD = sua_senha
DB_DATABASE_NAME = seu_banco_de_dados
JWT_KEY = chave_para_jwt
JWT_EXPIRE_TIME = tempo_expiração (exemplo: 120 minutes)
BCRYPT_COST = cost_encriptação (idealmente um valor minimo de 12)
Execute a aplicação
npm run start:dev
Você poderá utilizar os endpoints através de um cliente HTTP (ex. Postman) tendo o endereço localhost:3003 como URL base para as requisições. Para informações de cada endpoint disponível conferir a documentação
-- Tabela do Usuário
CREATE TABLE User (
id VARCHAR(255) PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL
);
-- Tabelas dos dados do Usuário
CREATE TABLE Address (
id VARCHAR(255) PRIMARY KEY,
cep VARCHAR(10) UNIQUE NOT NULL,
street VARCHAR(255) UNIQUE NOT NULL,
number SMALLINT UNSIGNED UNIQUE NOT NULL,
complement VARCHAR(255) UNIQUE NOT NULL,
city VARCHAR(255) UNIQUE NOT NULL,
state VARCHAR(2) UNIQUE NOT NULL,
update_at BIGINT(20) NOT NULL,
user_id VARCHAR(255) NOT NULL,
FOREIGN KEY (user_id) REFERENCES User (id)
);
CREATE TABLE Amount (
id VARCHAR(255) PRIMARY KEY,
amount BIGINT UNSIGNED UNIQUE NOT NULL,
update_at BIGINT(20) NOT NULL,
user_id VARCHAR(255) NOT NULL,
FOREIGN KEY (user_id) REFERENCES User (id)
);
CREATE TABLE Birthday (
id VARCHAR(255) PRIMARY KEY,
birthday DATE UNIQUE NOT NULL,
update_at BIGINT(20) NOT NULL,
user_id VARCHAR(255) NOT NULL,
FOREIGN KEY (user_id) REFERENCES User (id)
);
CREATE TABLE CPF (
id VARCHAR(255) PRIMARY KEY,
cpf VARCHAR(255) UNIQUE NOT NULL,
update_at BIGINT(20) NOT NULL,
user_id VARCHAR(255) NOT NULL,
FOREIGN KEY (user_id) REFERENCES User (id)
);
CREATE TABLE Name (
id varchar(255) PRIMARY KEY,
first_name VARCHAR(255) UNIQUE NOT NULL,
last_name VARCHAR(255) UNIQUE NOT NULL,
update_at BIGINT(20) NOT NULL,
user_id VARCHAR(255) NOT NULL,
FOREIGN KEY (user_id) REFERENCES User (id)
);
CREATE TABLE PhoneNumber (
id VARCHAR(255) PRIMARY KEY,
phone_number VARCHAR(15) UNIQUE NOT NULL,
update_at BIGINT(20) NOT NULL,
user_id VARCHAR(255) NOT NULL,
FOREIGN KEY (user_id) REFERENCES User (id)
);