- Para o backend foi utilizado mongoDB como base de dados, e nodeJS
- Para o frontend utilizado html,CSS, bootstrap e javascript/(Jquery) e a lib fullcalendar
Para instalar basta executar baixar os arquivos descompactar, acessar o diretório pelo terminal e utilizar o seguinte comando:
- Para instalar o mongoDB basta clicar aqui MongoDB
- Para MAC utilize o tutorial após isso basta seguir com a instalação
Esse comando vai instalar todas as dependencias necessárias para a api inicializar feito isso execute o seguinte comando ainda no diretório do arquivo
após a compilação será necessário executar o seguinte comando:
Se tudo correr bem deve aparecer uma mensagem de que o servidor esta escutando na porta 3000
- Descompacte a pasta com os arquivos de frontend e abra o arquivo index.html no seu browser e navegar entre as páginas
- Implemetou-se as seguintees páginas: Cadastrar usuários, Cadastrar livros, Controle Alugueis, Editar livros
- Cadastrar Usuário e Cadastrar livros são apenas formulários para realizar o cadastro dos livros.
Controle de alugueis tem toda a parte de observar quandos os livros serão devolvidos, extender aluguel, excluir, valores a serem pagos Editar livros exibe uma lista onde é possível editar livros já cadastrados ou excluir os mesmos. Ao iniciar a ferramenta a primeira vez ela já carrega alguns livros, pre estabelecidos.
- Para cada funcionalidade da API foram criadas routers e models, os models definem o schema de cada collection no MongoDb
As routers definem quais urls e parâmetros devem ser passadas para adicionar, editar ou excluir determinado elemento, seja ele usuário, livro aluguel. Foi criado também um model-router genério que pode ser importado pelos outros arquivos de routers já que todos os elementos possuem funcionamento similar.
Ficaram faltando implementar as mensagens de erro ao receber um retorno de erro da API, e criar uma parte de login para os usuários,a ferramenta da forma que se encontra hoje pode ser utilizada apenas pelo administrador da biblioteca para ter o controle dos livros e usuarios que alugaram os livros.
Existem tres arquivos de routers principais são eles
- rents.router
- books.routers
- users.routers
-
Para buscar todos os livros inseridos, utilizamos a seguinte URL
URL://domain/books/ Essa URL retorna um json com todos os documents contidos na collection books dentro do MongoDB e o método utilizado é o GET
-
Para carregar os dados de um livro especpifico utiliza-se a seguinte URL
URL://domain/books/:id Essa URL retorna um json com os dados de um documento específico, o id é o id de um documento que já foi inserido na collection books o método utilizado é o GET
-
Para buscar os livros filtrando por uma categoria utiliza-se a seguinte URL
URL://domain/books/find/:category nessa url utilizamos o método GET, e o parametro category é acategoria que vai ser utilizada para filtrar os documentos na collection books
-
Para salvar um elemento na collection books utilizamos a seguinte URL
URL://domain/books/ o que diferencia essa URL é que utilizamos o método POST sendo necessário passar o document a ser inserido na collection em formato json no body da requisição
-
Para alterar os dados de um livro utilizamos a seguinte URL
URL://domain/books/altera/:id onde o id é o id de um document já cadastrado na collection, e o método utilizado é o POST
-
Para deletar um elemento utilizamos a seguinte URL
URL://domain/books/del/:id onde o id é o id de um document já cadastrado na collection, e o método utilizado é o POST
-
Para buscar todos os dados de todos os usuários cadastrados, utiliza-se a seguinte URL
URL://domain/users o método utilizado é o GET e ele não retorna o password do usuário
-
Para buscar as informações de um usuário específico utiliza-se a seguinte URL
URL://domain/users/:id onde o id se refere a um usuário já cadastrado na collection users o método é o GET
-
Para salvar as informações de um novo usuário utiliza-se a seguinte URL
URL://domain/users o que diferencia essa URL é que utilizamos o método POST sendo necessário passar o document a ser inserido na collection em formato json no body da requisição
-
Para excluir os dados de um usuário utilizamos a seguinte URL
URL://domain/users/:id onde o id é o id de um document já cadastrado na collection, e o método utilizado é o POST
-
Para criar cadastrar uma nova reserva de livro utiliza-se a seguinte URL
URL://domain/rent/:id e método POST o id se refere ao livro que está sendo alugado para poder decrementar a quantidade de livros disponíveis.
-
Para buscar os dados de um alugel usa-se a mesma URL
URL://domain/rent/:id porém o metodo utilizado é o GET e o ID se refere ao id document criado na collection rents do MongoDB após a inserção.
-
Para realizar alterações que permitem a renovação do aluguel a url utilizada é
URL://domain/rent/extend/:id utilizando-se do método POST e o ID se refere ao id document criado na collection rents do MongoDB
-
Para excluir o aluguel, utiliza-se a seguinte URL
URL://domain/rent/:id/:bookId onde o id é o id de um document criado na collection rents e o bookId é o id de um livro existente na collection books utilizado para incrementar a quantidade de livros após a devolução de um livro. O método utilizado é o POST