- A finalidade desta API é criar um sistema de cadastro simplificado de clientes, onde será possível vincular contatos a cada cliente. A API permitirá a visualização dos clientes e dos contatos vinculados a eles de forma organizada e fácil de acessar. Além disso, essa API fornecerá as funcionalidades básicas de um CRUD (criação, leitura, atualização e exclusão) para gerenciar esses dados de forma eficiente e segura, permitindo que você mantenha seu cadastro de clientes atualizado e sempre à mão. Em resumo, a API de cadastro de clientes com vínculo de contatos oferece uma solução simplificada e prática para gerenciar seus dados de clientes e contatos.
Visão Geral das tecnologias usadas no projeto.
- NodeJS
- Express
- TypeScript
- PostgreSQL
- TypeORM
- Yup
- Docker
- Bcryptjs
- reflect-metadata
- pg
- jsonwebtoken
- express-async-errors
- dotenv
- cross-env
- NodeJs a partir da versão 16.14.1
- Gerenciador de pacotes yarn ou npm
- Banco de dados PostgreSQL
4.2.1 - Crie um banco de dados chamado customer_registration no PostgreSQL
4.2.2 - Após o clone no repositório para adicionar todas as dependências do package json execute o comando:
yarn install
4.2.3 - Crie um arquivo na raiz do projeto chamado .env e faça as configurações das variáveis de ambiente com base no .env.example do projeto.
SECRET_KEY=chave secreta definida pelo seu time de desenvolvimento
DATABASE_URL="postgres://user:password@localhost:5432/postgres_db"
4.2.4 - Para rodar projeto utilize o comando yarn dev
no terminal, caso de tudo certo receberá uma mensagem parecida com essa:
[INFO] 17:23:18 ts-node-dev ver. 2.0.0 (using ts-node ver. 10.9.1, typescript ver. 4.8.4)
query: SELECT * FROM current_schema()
query: CREATE EXTENSION IF NOT EXISTS "uuid-ossp"
query: SELECT version();
Servidor executando.
SECRET_KEY=chave secreta definida pelo seu time de desenvolvimento
DATABASE_URL="postgres://user:password@db:5432/postgres_db"
4.3.1 - Então rode o comando docker-compose up
para gerar um container no docker, caso de tudo certo, você receberá uma mensagem parecida com essa:
Starting myapp_db_1 ... done
Starting myapp_web_1 ... done
Attaching to myapp_db_1, myapp_web_1
db_1 | 2021-02-13T08:15:12.651533Z 0 [Note] mysqld (mysqld 10.3.22-MariaDB-1:10.3.22+maria~bionic) starting as process 1 ...
web_1 | Listening on 5000...
Este é um projeto Open Source para fins educacionais e não comerciais, Tipo de licença - MIT