Skip to content

This project is a personal book manager API. The purpose of this project is to apply studies on GraphQl integration with postgres database and using node with Typescript.

Notifications You must be signed in to change notification settings

brunoapollon/your-books

Repository files navigation

your books API

API criada para o gerenciamento de livros pessoais.

Tecnologias

Projeto

Esse projeto é uma aplicação node com graphql feita para organizar a biblioteca pessoal do usuário, podendo marcar os livros emprestados e a quem foi emprestado.

Instruções

  • Para instalar todas as dependências utilizadas do projeto basta rodar o comando yarn
  • O servidor pode ser iniciado com yarn dev, onde se tem acesso pelo http://localhost:3333/your-books-api

Type

  User {
    id: ID
    name: String!
    email: String!
    password: String
    created_at: DateTime!
    updated_at: DateTime!

  }
  Book {
     id: ID
    title: String!
    description: String!
    author: String!
    borrowed: Boolean!
    user_id: User!
    borrowed_user_id: User
    created_at: DateTime!
    updated_at: DateTime!
  }

Query

  • showUser Retorna os dados do usuaário autenticado.
  • findBooksByUserId Retorna os livros do usuário autenticado.
  • FilterByBorrowedBooksAndByUser Filtra livros que o usuário emprestou.
  • findBookById Bunca um livro pelo id
  Dados que precisa ser enviado em findBookById
  data: { 
    book_id: string
  }

Mutation

  • createUser cria um novo usuário
  Dados que precisa ser enviado em createUser
  data: { 
    name: string,
    email: string,
    password: string
  }
  • updateUser atualiza um usuário
  Dados que podem ser enviado em updateUser
  data: { 
    name: string,
    email: string,
    password: string
  }
  • deleteUser deleta um usuário.
  • userAuthenticatication autenticação de usuário.
  Dados que precisam ser enviado em userAuthenticatication
  data: { 
    email: string,
    password: string
  }
  • createBook cria um novo livro.
  Dados que precisam ser enviado em createBook
  data: { 
    title: string,
    description: string,
    author: string,
  }
  • updateBook atualiza um novo livro.
  Dados que precisam ser enviado em updateBook
  data: { 
    book_id: string,
    title: string,
    description: string,
    author: string,
  }
  • borrowBookempresta um livro.
  Dados que precisam ser enviado em updateBook
  data: { 
    book_id: string,
    borrowed_user_id: string
  }
  • borrowedBookReturn marca um livro como devolvido
  Dados que precisam ser enviado em borrowedBookReturn
  data: { 
    book_id: string,
  }
  • deleteBook deleta um livro
  Dados que precisam ser enviado em deleteBook
  data: { 
    book_id: string,
  }

About

This project is a personal book manager API. The purpose of this project is to apply studies on GraphQl integration with postgres database and using node with Typescript.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published