{"id":31582790,"url":"https://github.com/blmarquess/first-crud-node-js","last_synced_at":"2025-10-05T23:17:57.496Z","repository":{"id":42977648,"uuid":"473890091","full_name":"blmarquess/first-crud-node-js","owner":"blmarquess","description":"Primeiro projeto NodeJS que eu fiz","archived":false,"fork":false,"pushed_at":"2022-06-19T01:39:20.000Z","size":235,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-02T02:50:21.702Z","etag":null,"topics":["nodejs","nodejs-server","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/blmarquess.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}},"created_at":"2022-03-25T06:11:56.000Z","updated_at":"2023-10-17T19:44:25.000Z","dependencies_parsed_at":"2022-09-23T14:16:20.719Z","dependency_job_id":null,"html_url":"https://github.com/blmarquess/first-crud-node-js","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/blmarquess/first-crud-node-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blmarquess%2Ffirst-crud-node-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blmarquess%2Ffirst-crud-node-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blmarquess%2Ffirst-crud-node-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blmarquess%2Ffirst-crud-node-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blmarquess","download_url":"https://codeload.github.com/blmarquess/first-crud-node-js/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blmarquess%2Ffirst-crud-node-js/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278532361,"owners_count":26002347,"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-05T02:00:06.059Z","response_time":54,"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":["nodejs","nodejs-server","typescript"],"created_at":"2025-10-05T23:17:54.747Z","updated_at":"2025-10-05T23:17:57.490Z","avatar_url":"https://github.com/blmarquess.png","language":"TypeScript","readme":"# First CRUD with NodeJS extends Talker Manager from [beTrybe](https://www.betrybe.com/)\n\n## Requisitos do projeto\n\n- 1 - Crie o endpoint GET /talker\n- 2 - Crie o endpoint GET /talker/:id\n- 3 - Crie o endpoint POST /login\n- 4 - Crie o endpoint POST /talker\n- 5 - Crie o endpoint PUT /talker/:id\n- 6 - Crie o endpoint DELETE /talker/:id\n- 7 - Crie o endpoint GET /talker/search?q=searchTerm\n\n## Habilidades\n\nNeste projeto, verificamos se você é capaz de:\n\n- Realizar operações assíncronas utilizando callbacks;\n- Realizar operações assíncronas utilizando Promises;\n- Ler e escrever arquivos localmente com NodeJS;\n- Escrever seus próprios scripts que criam e consomem Promises;\n- Reescrever código que usa callbacks para que use Promises;\n- Realizar chamadas de funções de forma consciente;\n- Entender os conceitos básicos de como o JavaScript funciona;\n- Detectar e solucionar problemas no código de forma mais objetiva;\n- Entender a diferença entre execução síncrona e assíncrona;\n- Entender o que é o HTTP, o que é uma API e o que os dois têm a ver com o Express;\n- Escrever APIs utilizando Node e Express;\n- Entender a estrutura de uma aplicação Express e como organizar seu código;\n- Criar rotas e aplicar middleware's.\n\n\u003e O que foi abordado até este momento do curso\n\u003e JavaScript - O Básico de NodeJS e Express\n---\n\n## Entrega além dos requisitos\n\n- Fazer o projeto utilizando [TypeScript](https://www.typescriptlang.org/)\n- Montar a arquitetura do projeto em camadas 'MSC'\n- Seguir o paradigma orientado a objetos\n- Commits padronizados seguindo [Conventional Changelog](https://github.com/conventional-changelog/conventional-changelog)\n\n### Exemplo de um dos requisitos - Crie o endpoint GET `/talker/:id`\n\n- Ao acessar o servidor na porta 3000 na rota talker/:id tem que retornar as informações da Talker com id correspondente\n\n\u003eExemplo de acesso: http://\n\u003elocalhost:3000:/talker/2\n\n|Resposta esperada\n\n```json\n{\n  \"name\": \"Henrique Albuquerque\",\n  \"age\": 62,\n  \"id\": 1,\n  \"talk\": { \"watchedAt\": \"23/10/2020\", \"rate\": 5 }\n}\n```\n\n### Para conseguir rodar e testar a aplicação em sua maquina siga os passos abaixo\n\n\u003ePrecisa ter o Git e NodeJS instalado e funcionando na maquina\n\nAbra o emulador de terminal e clone o repositório:\n\u003eprecisa estar logado no github caso contrario baixe o arquivo .zip [aqui](https://github.com/blmarquess/first-crud-node-js/releases/download/release/first-crud-node-js-main.zip)\n\n```shell\ngit clone git@github.com:blmarquess/first-crud-node-js.git\n````\n\nEntre na pasta da aplicação e execute o comando abaixo para instalar as dependências do projeto:\n\n```shell\nnpm install\n````\n\nNesse pondo ele ja estará pronto para ser iniciado\n\nUtilize o comando abaixo para iniciar a plicação:\n\n```shell\nnpm start\n````\n\nTudo dando certo você vera algo parecido com o este retorno abaixo:\n\n```console\n\u003e first-crud-node-js@1.0.0 start\n\u003e ts-node --transpileOnly index.ts\n\nOnline\n```\n\nAgora pode acessar o endereço \u003chttp://localhost:3000/talker\u003e para ver o resultado.\n\n#### Funcionamento\n\n- acessando a url localhost:3000/talker recebera o retorno de todas as palestras agendadas\n- acessando a url localhost:3000/talker/2 você vera a palestra agendada de ID 2\n- acessando a url localhost:3000/talker//search?q=NOME \"trocando NOME para o nome a pesquisar\" ex:localhost:3000/talker//search?q=bruno retornara as informações das palestras agendadas para esta pessoa\n\n\u003cdiv  align=\"center\"\u003e\n\u003cp align=\"center\"\u003eContatos: \u003cbr\u003e\u003c/p\u003e\n\n\u003cp align=\"center\" style=\"max-width: 50%;\"\u003e\n \u003ch3\u003eBruno Marques\u003c/h3\u003e\n  \u003ca href=\"https://www.linkedin.com/in/00brunomarques/\" alt=\"link para o Linkedin de Bruno Marques\" rel=\"nofollow\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\" style=\"max-width: 100%;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"mailto:blmarques.dev@gmail.com\" alt=\"link para o enviar e-mail para Bruno Marques\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white\" style=\"max-width: 100%;\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cdiv\u003e\n  \n \n \u003cdiv align='center'\u003e\n\t\t\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/N4N2DC6XA)\n\t\t\n\u003c/div\u003e\n","funding_links":["https://ko-fi.com/N4N2DC6XA"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblmarquess%2Ffirst-crud-node-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblmarquess%2Ffirst-crud-node-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblmarquess%2Ffirst-crud-node-js/lists"}