cKauan / knex-crud

Typescript + KnexJS + Postgres | CRUD

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Postgres CRUD

CRUD com knex.js

📎 Sumário

Sobre o repositĂłrio

💡 Prática de operações básicas em um banco de dados com typescript

Tecnologias Usadas

đź“Ś Essas foram as tecnologias mais utilizadas

Iniciando

Pré-requisitos

  • É necessário que o NodeJS esteja instalado em sua máquina
  • VocĂŞ tambĂ©m irá precisar de um gerenciador de pacotes, nesse caso usei o Yarn
  • Foi usado Postgres nesse projeto, vá ao arquivo knexfile.ts e configure sua conexĂŁo.

Instalação

# Clone o repositĂłrio
git clone https://github.com/cKauan/knex-crud.git

# Instale todos os pacotes

# Yarn
yarn install
# Npm
npm install


# Rode as migrations

# Yarn
yarn knex migrate:latest
# Npm
npx knex migrate:latest

# Ambiente de desenvolvimento

# Yarn
yarn dev
# Npm
npm run dev

# Ambiente de Produção

# Yarn
yarn build
# Npm
npm run build

# Iniciar em produção

# Yarn
yarn start
# Npm
npm run start

Documentação

Run in Insomnia}

// Listar usuários
GET - /users

// Resposta - Todos os usuários
{
  date: [
    {
      id: number,
      name: string,
      surname: string,
      email: string,
      cpf: string,
      birthday: string,
      phone: string,
      active: boolean
    },
  ],
  limit: number,
  total: number
}

/* Exemplo
* "data": [
*     {
*       "id": 1,
*       "name": "Carlos KauĂŁn",
*       "surname": "Moreira de Sousa",
*       "email": "carloskauanmoreiradesousa@gmail.com",
*       "cpf": "12345678930",
*       "birthday": "2004-11-10T03:00:00.000Z",
*       "phone": "5585992476020",
*       "active": true
*     },
*   ],
*   "limit": 10,
*   "total": 25
*
*/

// Criar usuário
POST - /users
Content-Type: application/json

name: string - required,
surname: string - required,
email: string - required,
cpf: string - required - mask: xxxxxxxxxxx,
birthday: string - required - mask: yyyy/mm/dd,
phone: string - required,
active: boolean - required

/* Resposta - Usuário criado
*     {
*       "id": 1,
*       "name": "Carlos KauĂŁn",
*       "surname": "Moreira de Sousa",
*       "email": "carloskauanmoreiradesousa@gmail.com",
*       "cpf": "12345678930",
*       "birthday": "2004-11-10T03:00:00.000Z",
*       "phone": "5585992476020",
*       "active": true
*     }
*/

// Atualizar usuário (completo)
PUT - /users/:id
Content-Type: application/json

{
  "name": "José da Silva",
  "surname": "Silva Souza",
  "email": "jose@gmail.com",
  "cpf": "9999999922",
  "birthday": "2004/11/10",
  "phone": "5585992476020",
  "active": false
}

/* Resposta - Usuário Atualizado
*     {
*       "name": "José da Silva",
        "surname": "Silva Souza",
        "email": "jose@gmail.com",
        "cpf": "9999999922",
        "birthday": "2004/11/10",
        "phone": "5585992476020",
        "active": false
*     }
*/

// Atualizar usuário (Fragmentado)
PATCH - /users/:id
Content-Type: application/json

{
  "name": "José da Silva"
}

/* Resposta - Usuário Atualizado
*     {
*       "id": 1,
*       "name": "José da Silva",
*       "surname": "Moreira de Sousa",
*       "email": "carloskauanmoreiradesousa@gmail.com",
*       "cpf": "12345678930",
*       "birthday": "2004-11-10T03:00:00.000Z",
*       "phone": "5585992476020",
*       "active": true
*     }
*/

// Deletar um usuário
DELETE - users/:id

// Resposta
{
  "message": "Deleted"
}

Contribuições

🎯 Você quer contribuir para o projeto e não sabe como?

  1. DĂŞ Fork no projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Comite as alterações (git commit -m 'Add some AmazingFeature')
  4. Faça o push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

Licença

MIT

Contato

👦 Carlos Kauãn - https://twitter.com/carlaodamassaa - carloskauanmoreiradesousa@gmail.com

Feito com đź’š por Carlos KauĂŁn

About

Typescript + KnexJS + Postgres | CRUD

License:MIT License


Languages

Language:TypeScript 100.0%