{"id":26153171,"url":"https://github.com/ddr23/biblioteca-online-backend","last_synced_at":"2025-03-11T07:53:09.152Z","repository":{"id":215730170,"uuid":"739129311","full_name":"DDR23/biblioteca-online-backend","owner":"DDR23","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-06T12:51:03.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T13:47:24.912Z","etag":null,"topics":["expressjs","mongodb"],"latest_commit_sha":null,"homepage":"https://api-desafio05escoladnc.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DDR23.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-01-04T20:54:53.000Z","updated_at":"2025-02-06T12:51:07.000Z","dependencies_parsed_at":"2024-01-16T06:21:40.657Z","dependency_job_id":"6d8f88af-505f-4810-8e03-acc36a4c7377","html_url":"https://github.com/DDR23/biblioteca-online-backend","commit_stats":null,"previous_names":["ddr23/atividade---board-task-backend---escola-dnc","ddr23/desafio-05---desenvolva-uma-api-e-integre-ao-frontend-de-uma-aplica-o---escola-dnc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DDR23%2Fbiblioteca-online-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DDR23%2Fbiblioteca-online-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DDR23%2Fbiblioteca-online-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DDR23%2Fbiblioteca-online-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DDR23","download_url":"https://codeload.github.com/DDR23/biblioteca-online-backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242995882,"owners_count":20218817,"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":["expressjs","mongodb"],"created_at":"2025-03-11T07:53:08.535Z","updated_at":"2025-03-11T07:53:09.132Z","avatar_url":"https://github.com/DDR23.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## IMPORTANTE\nEsse repositório é o backend do desafio 05. Desafio que consiste em um sistema simples de registro, edição e consulta de livros\n\nNesse `README.dm` é possivel encontrar informações sobre:\n- Etapas de desenvolvimento do Desafio\n- Instalações\n- Funcionalidades\n- Exemplos de uso\n\n#### URL da API: https://api-desafio05escoladnc.vercel.app/\n#### URL da Aplicação Frontend: https://desafio05escoladnc.vercel.app/\n\n\u0026nbsp;\n\n---\n\n# Desafio-05---Desenvolva-uma-API-e-integre-ao-frontend-de-uma-aplicação---Escola-DNC\n\n🎯 Etapas de Desenvolvimento\n\n### ETAPA-01 - Clone o front-end\nPara iniciar o desenvolvimento desse desafio, você precisará clonar o front da aplicação presente neste repositório. É ele que você deverá conectar à sua API.\n\n### ETAPA-02 - Crie um projeto Node para sua API\nComece a construção da sua API através de um projeto em Node.JS. Para isso você deverá iniciar um projeto em Node no seu VS Code. Estruture a API conforme a funcionalidade requerida:\n- Cadastro de livros contendo: um ID único, um Título, o Número de páginas, Código ISBN e a editora.\n- Edição de livros: podendo editar qualquer campo.\n- Visualização de livros: todos os livros cadastrados precisam estar no front-end.\n- Deletar livros: todos os livros podem ser deletados.\n\n### ETAPA-03 - Teste de Rotas\nTeste cada uma das rotas da API para garantir que estão funcionando. Ao finalizar a API garanta que todas as rotas dela estejam funcionais e realizando o que deveriam estar fazendo.\n\n### ETAPA-04 - Integre sua API com o Front\nImplementar a Service que irá executar a conexão com a API. Desenvolva a Service que irá utilizar as rotas da API e irá enviar os dados para cada uma das views utilizadas e desenvolva as funcionalidades em cada View.\n\n### ETAPA-05 - Realize o deploy\nNa etapa final você deverá subir o arquivo no github e disponibilizar ele através do Vercel! Assim, qualquer um poderá ver o que você construiu funcionando.\n\n\u0026nbsp;\n\n\u0026nbsp;\n\n## Tecnologias usadas\n- express.js\n- mongodb\n\n\u0026nbsp;\n\n## Instalações\n\n\u0026nbsp;\ncomandos para iniciar um projeto do zero\n\n```bash\n  npm init -y\n```\n\n```bash\n  npm i express mongoose cors dotenv serve-favicon\n```\n\n```bash\n  npm i -D nodemon\n```\n\n\u0026nbsp;\n\n\u0026nbsp;\ncomandos para clonar esse projeto\n\n```bash\n  git clone https://github.com/DDR23/Desafio-05---BACKEND---Desenvolva-uma-API-e-integre-ao-frontend-de-uma-aplicacao---Escola-DNC\n```\n```bash\n  npm i\n```\n\n\u0026nbsp;\nPara rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env\n\n```\nNODE_ENV=\nDB_USER=\nDB_PASSWORD=\n```\n\n\u0026nbsp;\n\n## Funcionalidades\n- puxa todos os livros cadastrados usando a rota (/books)\n- puxa um livro especifico usando a rota (/books/:id)\n- cria um livro usando a rota (/books/create)\n- edita um livro usando a rota (/books/update/:id)\n- apaga um livro usando a rota (/books/delete/:id)\n\n\u0026nbsp;\n\n## Exemplos de uso:\n\n\u0026nbsp;\n**GET** - para todos os livros\n```http\nhttps://api-desafio05escoladnc.vercel.app/books\n```\n\n\u0026nbsp;\n\n\u0026nbsp;\n**GET** - para um livros\n```http\nhttps://api-desafio05escoladnc.vercel.app/books/6598d9aabc35c1831047e13f\n```\n\u0026nbsp;\nObs: lembre-se se subistituir o id \"6598d9aabc35c1831047e13f\" por um id valido\n\n\u0026nbsp;\n\n\u0026nbsp;\n**POST** - para criar um livro\n```http\nhttps://api-desafio05escoladnc.vercel.app/books/create\n```\n\n\u0026nbsp;\nÉ necessário passar esse objeto no body de requisição\n```json\n  {\n    \"id\": \"4\",\n    \"title\": \"Meu ultimo livro\",\n    \"pages\": \"143\",\n    \"isbn\": \"2938121\",\n    \"publisher\": \"ddr23\",\n    \"sumary\": \"Aqui nesse campo pode ser colocado uma descrição do conteúdo será visto no livro\"\n  }\n```\n\u0026nbsp;\nObs: Nesse objeto de chave/valor apenas o valor pode ser alterado\n\n\u0026nbsp;\n\n\u0026nbsp;\n**PUT** - para editar um livro\n```http\nhttps://api-desafio05escoladnc.vercel.app/books/update/6598d9aabc35c1831047e13f\n```\n\u0026nbsp;\nObs: lembre-se se subistituir o id \"6598d9aabc35c1831047e13f\" por um id valido\n\n\u0026nbsp;\nÉ necessário passar esse objeto no body de requisição\n```json\n  {\n    \"id\": \"4\",\n    \"title\": \"Meu ultimo livro\",\n    \"pages\": \"143\",\n    \"isbn\": \"2938121\",\n    \"publisher\": \"ddr23\",\n    \"sumary\": \"Aqui nesse campo pode ser colocado uma descrição do conteúdo será visto no livro\"\n  }\n```\n\n\u0026nbsp;\nObs: Nesse objeto de chave/valor apenas o valor pode ser alterado, podendo passar apenas uma chave/valor\n\n\u0026nbsp;\nexemplo:\n```json\n  {\n    \"title\": \"Meu ultimo livro atualizado\",\n  }\n```\n\n\u0026nbsp;\n\n**DELETE** - para deletar um livro\n```http\nhttps://api-desafio05escoladnc.vercel.app/books/delete/6598d9aabc35c1831047e13f\n```\n\u0026nbsp;\nObs: lembre-se se subistituir o id \"6598d9aabc35c1831047e13f\" por um id valido\n\n\u0026nbsp;\n\n\u0026nbsp;\nObs: O id que deve ser passado por parametro nas rotas \"/book/:id\", \"/books/update/:id\" e \"/books/delete/:id\" deve ser o ID gerado automaticamente pelo mongo, identificado como \"_id\" no body da requisição e deve ser algo similar a \"6598d9aabc35c1831047e13f\" por exemplo\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddr23%2Fbiblioteca-online-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fddr23%2Fbiblioteca-online-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddr23%2Fbiblioteca-online-backend/lists"}