{"id":22746491,"url":"https://github.com/jonathanprojetos/talker-manager","last_synced_at":"2026-04-11T02:15:01.218Z","repository":{"id":144527519,"uuid":"521068138","full_name":"JonathanProjetos/Talker-Manager","owner":"JonathanProjetos","description":"Esta é uma aplicação de cadastro de talkers (palestrantes)","archived":false,"fork":false,"pushed_at":"2022-09-05T01:08:43.000Z","size":202,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-13T19:33:26.429Z","etag":null,"topics":["docker","docker-compose","express","javascript","node"],"latest_commit_sha":null,"homepage":"","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/JonathanProjetos.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":"2022-08-04T00:06:29.000Z","updated_at":"2022-10-09T00:39:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"001e5753-c869-4fdc-8a4d-988cecce8d10","html_url":"https://github.com/JonathanProjetos/Talker-Manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JonathanProjetos/Talker-Manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanProjetos%2FTalker-Manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanProjetos%2FTalker-Manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanProjetos%2FTalker-Manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanProjetos%2FTalker-Manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JonathanProjetos","download_url":"https://codeload.github.com/JonathanProjetos/Talker-Manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanProjetos%2FTalker-Manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016916,"owners_count":26085888,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["docker","docker-compose","express","javascript","node"],"created_at":"2024-12-11T02:13:29.244Z","updated_at":"2025-10-13T19:33:27.346Z","avatar_url":"https://github.com/JonathanProjetos.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Talker-Manager\n\n# Contexto\n\nEsta é uma aplicação de cadastro de talkers (palestrantes) em que será possível cadastrar, visualizar, pesquisar, editar e excluir informações, a aplicação não acessa o banco e todo o método e feito usando módulos do nodejs para manipular o arquivo talker.json usando fs.readFile() para leitura e fs.writeFile() para a escrita.\n\n## Importante:\n\n- Para consumo da aplicação será nescessario o uso de um software  de envio de requisições REST como:\n- [Insomia](https://insomnia.rest/)\n- [Postman](https://www.postman.com/)\n- [Httpie](https://httpie.io/)\n\n## Detalhes das rotas\n\n#### Verbo GET : http://localhost:3000/\n\n##### Esperado\n  ```\n  O endpoint somente confirma o status code 200.\n ```\n    \n#### Verbo Get : http://localhost:3000/talker\n\n##### Esperado\n\n O endpoint traz todos os talkers existentes. \n\n  ```json\n     [\n        {\n          \"name\": \"Henrique Albuquerque\",\n          \"age\": 62,\n          \"id\": 1,\n          \"talk\": {\n            \"watchedAt\": \"23/10/2020\",\n            \"rate\": 5\n          }\n        },\n        {\n          \"name\": \"Heloísa Albuquerque\",\n          \"age\": 67,\n          \"id\": 2,\n          \"talk\": {\n            \"watchedAt\": \"23/10/2020\",\n            \"rate\": 5\n          }\n        },\n  \t  /* ....  */\n     \n ```\n    \n#### Verbo Post : http://localhost:3000/login\n\n##### Esperado\n\n- O endpoint espera receber um body com o formato como no exemplo abaixo.\n\n  ```json\n    {\n      \"email\": \"email@email.com\",\n      \"password\": \"123456\"\n    }\n  ```\n- O endpoint deverá retornar um código de status 200 com o token gerado e o seguinte corpo.\n  \n ```json\n    {\n      \"token\": \"7mqaVRXJSp886CGr\"\n    }\n    \n```\n\n\n#### Verbo Post : http://localhost:3000/talker\n\n##### Esperado\n\n- O endpoint espera receber um body com o formato como no exemplo abaixo.\n\n ```json\n      {\n      \"name\": \"Danielle Santos\",\n      \"age\": 56,\n      \"talk\": {\n        \"watchedAt\": \"22/10/2019\",\n        \"rate\": 5\n      }\n    }\n ```   \n    \n- A requisição deve ter o token de autenticação nos headers, no campo authorization, os metodos precisão ser utilizados usando softwares como insomia, postman, httpie entre outros\n \n- Caso o token não seja encontrado será retornado um código de status 401, com o seguinte corpo:\n  ```json\n  {\n    \"message\": \"Token não encontrado\"\n  }\n  ```\n\n- Caso o token seja inválido retorne um código de `status 401`, com o seguinte corpo:\n\n    ```json\n    {\n      \"message\": \"Token inválido\"\n    }\n    ```\n\n#### Verbo Get : http://localhost:3000/talker/search?q=Helo\n\n##### Esperado\n\n- O endpoint espera receber uma palavra ou letras que relaciona com talkers cadastrados. exemplo abaixo:\n\n    ```json\n    [\n      {\n        \"name\": \"Heloísa Albuquerque\",\n        \"age\": 67,\n        \"id\": 2,\n        \"talk\": {\n          \"watchedAt\": \"23/10/2020\",\n          \"rate\": 5\n        }\n      }\n    ]\n    ```\n- Caso o token não seja encontrado será retornado um código de status 401, com o seguinte corpo:\n  ```json\n  {\n    \"message\": \"Token não encontrado\"\n  }\n  ```\n\n- Caso o token seja inválido retorne um código de `status 401`, com o seguinte corpo:\n\n    ```json\n    {\n      \"message\": \"Token inválido\"\n    }\n    ```\n    \n    \n- Caso searchTerm não seja informado ou esteja vazio, o endpoint deverá retornar um array com todos as pessoas palestrantes cadastradas, assim como no endpoint GET /talker, com um status 200.\n\n- Caso nenhuma pessoa palestrante satisfaça a busca, o endpoint deve retornar o status 200 e um array vazio.\n\n#### Verbo Get : http://localhost:3000/talker/:id\n\n##### Esperado\n\n - O endpoint espera receber um id que seja compatível com um id de um talker existente.\n\n```json\n       {\n\t \"name\": \"Henrique Albuquerque\",\n\t \"age\": 62,\n\t \"id\": 1,\n\t \"talk\": {\n\t\t   \"watchedAt\": \"23/10/2020\",\n\t\t   \"rate\": 5\n\t          }\n        }\n```\n- Caso o token não seja encontrado será retornado um código de status 401, com o seguinte corpo:\n  ```json\n  {\n    \"message\": \"Token não encontrado\"\n  }\n  ```\n\n- Caso o token seja inválido retorne um código de `status 401`, com o seguinte corpo:\n\n    ```json\n    {\n      \"message\": \"Token inválido\"\n    }\n    ```\n    \n#### Verbo Put : http://localhost:3000/talker/:id\n\n##### Esperado\n\n- O endpoint espera receber um body no formato especifico e um id de um talker existente para editar os dados do talker selecionado.\n\n ```json\n\t{\n\t  \"name\": \"Danielle Santos\",\n\t  \"age\": 56,\n\t  \"talk\": {\n\t    \"watchedAt\": \"22/10/2019\",\n\t    \"rate\": 5\n\t  }\n\t}\n```\n- Caso o token não seja encontrado será retornado um código de status 401, com o seguinte corpo:\n  ```json\n  {\n    \"message\": \"Token não encontrado\"\n  }\n  ```\n\n- Caso o token seja inválido retorne um código de `status 401`, com o seguinte corpo:\n\n    ```json\n    {\n      \"message\": \"Token inválido\"\n    }\n    ```\n    \n#### Verbo Delete : http://localhost:3000/talker/:id\n\n##### Esperado\n\n- O endpoint espera receber um id de um talker cadastrado para ser deletado.\n\n- Caso o token não seja encontrado será retornado um código de status 401, com o seguinte corpo:\n  ```json\n  {\n    \"message\": \"Token não encontrado\"\n  }\n  ```\n\n- Caso o token seja inválido retorne um código de `status 401`, com o seguinte corpo:\n\n    ```json\n    {\n      \"message\": \"Token inválido\"\n    }\n    ```\n\n## Técnologias usadas\n\n\u003e Desenvolvido em nodejs.\n\n\u003e Framework utilizado: Express.\n\n\u003e Libs: nodemon, eslint, nodemon, express-rescue, crypto-js, body-parser\n\n## Instalando Dependências\n\n\u003e Node\n```bash\ncd Talker-Manager/\nnpm install\n``` \n\u003e Docker\n```\ncd Talker-Manager/\nnpm install\ndocker-compose up -d\n```\n## Rodando a aplicação\n```\ncd Talker-Manager/\nnpm run dev\n```\n\n## Aviso Importante \nCaso queira roda a aplicação via docker deverá ter o docker instalado no dispositivo, caso não esteja instalado você pode encontra como instalar neste [link](https://docs.docker.com/engine/install/ubuntu/) site oficial \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanprojetos%2Ftalker-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanprojetos%2Ftalker-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanprojetos%2Ftalker-manager/lists"}