{"id":21101590,"url":"https://github.com/0taviopascoal/bookstore-api","last_synced_at":"2025-05-05T20:44:43.503Z","repository":{"id":261797710,"uuid":"885367331","full_name":"0tavioPascoal/BookStore-API","owner":"0tavioPascoal","description":"Projeto de uma Livraria feita com Java Spring Boot com conexão ao banco de dados, segurança com JWT e etc...","archived":false,"fork":false,"pushed_at":"2025-01-03T13:53:15.000Z","size":121,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-30T23:31:33.630Z","etag":null,"topics":["java","jpa","jwt-token","postgresql","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0tavioPascoal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-08T13:00:13.000Z","updated_at":"2025-01-03T13:53:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"763824cf-decb-45ec-93d7-bac2e53260d8","html_url":"https://github.com/0tavioPascoal/BookStore-API","commit_stats":null,"previous_names":["0taviopascoal/bookstore-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0tavioPascoal%2FBookStore-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0tavioPascoal%2FBookStore-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0tavioPascoal%2FBookStore-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0tavioPascoal%2FBookStore-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0tavioPascoal","download_url":"https://codeload.github.com/0tavioPascoal/BookStore-API/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252574023,"owners_count":21770327,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jpa","jwt-token","postgresql","spring-boot"],"created_at":"2024-11-19T23:47:18.736Z","updated_at":"2025-05-05T20:44:43.485Z","avatar_url":"https://github.com/0tavioPascoal.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BookStore-API\n\n## Docker\n\nPara usar o docker utilizar o comando a seguir no terminal da própria idea -\u003e\n\n```Docker\n $ docker compose up\n```\n\nPara derrubar o container do docker utilizar o comando a seguir no terminal da própria idea -\u003e\n\n```Docker\n $ docker compose down\n```\n\n## Documentação da API\n\n### Autenticação\n\n- Rotas para autenticação na aplicação, sendo possivel registrar um novo usuario e logar na aplicação, resultando em um token que deverá ser usado em todos os request.\n\n##\n\n``http\n  POST /auth/register\n``\n\n| Corpo   | Tipo       | Descrição                           |\n| :---------- | :--------- | :---------------------------------- |\n| `login` | `string` | **Obrigatório**. E-mail para login na aplicação.  |\n| `password` | `string` | **Obrigatório**. Senha para login na aplicação. |\n| `email` | `string` | **Obrigatório**. E-mail. |\n| `username` | `string` | **Obrigatório**. Definir um nome de usuário. |\n| `role` | `string` | Tipo de usuário. *Admin* ou *User* |\n\n##\n``http\n  POST /auth/login\n``\n\n| Corpo   | Tipo       | Descrição                           |\n| :---------- | :--------- | :---------------------------------- |\n| `login` | `string` | **Obrigatório**. E-mail para login na aplicação.  |\n| `password` | `string` | **Obrigatório**. Senha para login na aplicação. |\n\n### Usuários.\n\n- Rotas para Modificação, exclusão e listagem de usuários.\n\n##\n\n``http\n  GET /users\n``\n\n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `size`      | `integer` | Tamanho de itens na pagina. |\n| `page`      | `integer` | Número da pagina. |\n| `username`      | `string` | Nome do Usuário. |\n| `login`      | `String` | Login do Usuário. |\n\n##\n``http\n  GET /users\n``\n\n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `id`      | `string` | **Obrigatório** Id do Usuário. |\n\n\n##\n``http\n  DEL /users\n``\n- Somente Admins.\n\n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `id`      | `string` | **Obrigatório** Id do Usuário. |\n\n##\n``http\n  PUT /authors\n``\n- Somente Admins.\n\n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `id`      | `string` | **Obrigatório** Id do Usuário. |\n\n| Corpo   | Tipo       | Descrição                           |\n| :---------- | :--------- | :---------------------------------- |\n| `login` | `string` | **Obrigatório**. E-mail para login na aplicação.  |\n| `password` | `string` | **Obrigatório**. Senha para login na aplicação. |\n| `email` | `string` | **Obrigatório**. E-mail. |\n| `username` | `string` | **Obrigatório**. Definir um nome de usuário. |\n| `role` | `string` | Tipo de usuário. *Admin* ou *User* |\n\n\n### Autores\n\n- Rotas para criação, alteração e deleção de Autores na aplicação.\n- Para criar Autores e deletar apenas Admins\n\n##\n\n``http\n  GET /authors\n``\n- Busca todos os autores com o nome ou nacionalidade passada por parâmetro.\n  \n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `name`      | `string` | Autores com esse nome ou letra. |\n| `nacionality`| `string` | Autores com a nacionalidade. |\n\n##\n``http\n  GET /authors/\n``\n- Busca Autor por id.\n\n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `id`      | `string` | **Obrigatório** Id do autor. |\n\n##\n``http\n  POST /authors\n``\n\n- Somente Admins.\n\n| Corpo         | Tipo       | Descrição                                   |\n| :----------   | :--------- | :------------------------------------------ |\n| `name`        | `string` | **Obrigatório** nome do Autor. |\n| `dateOfBirth` | `date` | **Obrigatório** Obrigatorio a data de nascimento do Autor. |\n| `nationality`   | `string` | **Obrigatório** Nacionalidade do Autor. |\n\n##\n``http\n  PUT /authors\n``\n- Somente Admins.\n\n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `id`      | `string` | **Obrigatório** Id do autor. |\n\n| Corpo         | Tipo       | Descrição                                   |\n| :----------   | :--------- | :------------------------------------------ |\n| `name`        | `string` | **Obrigatório** nome do Autor. |\n| `dateOfBirth` | `date` | **Obrigatório** Obrigatorio a data de nascimento do Autor. |\n| `nationality`   | `string` | **Obrigatório** Nacionalidade do Autor. |\n\n##\n``http\n  DEL /authors\n``\n- Somente Admins.\n\n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `id`      | `string` | **Obrigatório** Id do Autor. |\n\n\n\n### Livros\n\n- Rotas para criação de Livros.\n\n##\n\n``http\n  GET /books\n``\n\n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `size`      | `integer` | Tamanho de itens na pagina. |\n| `page`      | `integer` | Número da pagina. |\n| `title`      | `string` | Titulo do livro. |\n| `price`      | `bigDecimal` | Preço do livro. |\n| `gender`      | `string` | Genero do livro -\u003e (Romance, Aventura e etc...). |\n| `publicationDate`      | `Date` | Data da publicação do livro. |\n| `nameAuthor`      | `String` | Nome do Autor do livro. |\n\n##\n``http\n  GET /books\n``\n\n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `id`      | `string` | **Obrigatório** Id do Livro. |\n\n##\n``http\n  POST /books\n``\n\n| Corpo         | Tipo       | Descrição                                   |\n| :----------   | :--------- | :------------------------------------------ |\n| `title`    | `string`  | **Obrigatório** . |\n| `publicationDate`   | `LocalDate`   | **Obrigatório** Data da publicação do Livro. |\n| `gender`   | `string`   | **Obrigatório** Genero do livro. |\n| `price`   | `bigDecimal`   | **Obrigatório** Preço do livro. |\n| `idAuthor`   | `string`   | **Obrigatório** Id do Autor para cadastrar o Livro. |\n\n##\n``http\n  DEL /books\n``\n\n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `id`      | `string` | **Obrigatório** Id do Livro. |\n\n##\n``http\n  PUT /books\n``\n\n\n| Parâmetro   | Tipo       | Descrição                                   |\n| :---------- | :--------- | :------------------------------------------ |\n| `id`      | `string` | **Obrigatório** Id do Livro. |\n\n| Corpo         | Tipo       | Descrição                                   |\n| :----------   | :--------- | :------------------------------------------ |\n| `title`    | `string`  | **Obrigatório** . |\n| `publicationDate`   | `LocalDate`   | **Obrigatório** Data da publicação do Livro. |\n| `gender`   | `string`   | **Obrigatório** Genero do livro. |\n| `price`   | `bigDecimal`   | **Obrigatório** Preço do livro. |\n| `idAuthor`   | `string`   | **Obrigatório** Id do Autor para cadastrar o Livro. |\n\n\n## Autor\n\n- [@OtavioPascoal](https://github.com/0tavioPascoal)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0taviopascoal%2Fbookstore-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0taviopascoal%2Fbookstore-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0taviopascoal%2Fbookstore-api/lists"}