{"id":28434897,"url":"https://github.com/lucasam1992/project-blogs-api","last_synced_at":"2026-04-13T20:04:19.703Z","repository":{"id":222947247,"uuid":"438418039","full_name":"lucasam1992/project-blogs-api","owner":"lucasam1992","description":"O projeto consiste em uma API que realiza um CRUD (Create, Read, Update e Delete) de posts de blog","archived":false,"fork":false,"pushed_at":"2022-04-19T20:02:33.000Z","size":2907,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-05T19:49:35.418Z","etag":null,"topics":["api-rest","crud-api","expressjs","jsonwebtoken","mysql","nodejs","orm","sequelizejs"],"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/lucasam1992.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-12-14T22:24:16.000Z","updated_at":"2023-03-28T20:39:37.000Z","dependencies_parsed_at":"2024-02-17T07:44:08.812Z","dependency_job_id":null,"html_url":"https://github.com/lucasam1992/project-blogs-api","commit_stats":null,"previous_names":["lucasam1992/project-blogs-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lucasam1992/project-blogs-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasam1992%2Fproject-blogs-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasam1992%2Fproject-blogs-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasam1992%2Fproject-blogs-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasam1992%2Fproject-blogs-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasam1992","download_url":"https://codeload.github.com/lucasam1992/project-blogs-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasam1992%2Fproject-blogs-api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262765463,"owners_count":23360906,"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":["api-rest","crud-api","expressjs","jsonwebtoken","mysql","nodejs","orm","sequelizejs"],"created_at":"2025-06-05T19:41:41.560Z","updated_at":"2026-04-13T20:04:14.668Z","avatar_url":"https://github.com/lucasam1992.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Boas vindas ao repositório do API de Blogs!\n\n O projeto consiste em uma API que realiza um CRUD (Create, Read, Update e Delete) de posts de blog. Para criação das tabelas do banco de dados, foi utilizado a técnica de Mapeamento Objeto-Relacional (`ORM`) através do pacote `sequelize` do Node.js. Foram feitas autenticações de usuários através do pacote `jsonwebtoken`.\u003cbr /\u003e\n A implementação do código foi feita baseada na arquitetura de software MSC (Model-Service-Controller)\n \n ## Banco de Dados do Projeto\n ![Banco Blogs-API](./public/desenhoBD.png)\n\n---\n\n# Tecnologias Usadas\n - Node.js\n - Sequelize\n - Express\n - JavaScript\n - MySQL\n - JsonWebToken\n\n\n## O que foi desenvolvido\n\n### 1 - Criação do endpoint POST `/user`\n\n![Cadastro com sucesso](./public/cadastrodeusuario.png)\n\n### 2 - Criação do endpoint POST `/login`\n\n![Login com sucesso](./public/logincomsucesso.png)\n\n### 3 - Criação do endpoint GET `/user`\n\n![Listar usuários](./public/listarusuarios.png)\n\n### 4 - Criação do endpoint GET `/user/:id`\n\n![Listar um usuário](./public/listarumusuario.png)\n\n### 5 - Criação do endpoint POST `/categories`\n\n![Criar categoria com sucesso](./public/cadastrarCategoria.png)\n\n### 6 - Criação do endpoint GET `/categories`\n\n![Buscar todas as categoria com sucesso](./public/buscartodascategoriascomsucesso.png)\n\n### 7 - Criação do endpoint POST `/post`\n\n![Criar blogspot com sucesso](./public/criarblogpost.png)\n\n### 8 - Criação do endpoint GET `/post`\n\n![Criar blogspot com sucesso](./public/listarumblogpost.png)\n\n### 9 - Criação do endpoint GET `post/:id`\n\n![Listar um post com sucesso](./public/listarumpostcomsucesso.png)\n\n### 10 - Criação do endpoint PUT `/post/:id`\n\n![blogpost com token inválido](./public/editarpostcomsucesso.png)\n\n### 11 - Criação do endpoint DELETE `post/:id`\n\n![blogpost com token inválido](./public/deletarpostcomsucesso.png)\n\n### 12 - Criação do endpoint DELETE `/user/me`\n\n![Deletar com sucesso](./public/deletarcomsucesso.png)\n\n### 13 - Criação do endpoint GET `post/search?q=:searchTerm`\n\n![blogpost com token inválido](./public/buscarpostpelotitle.png)\n\n![blogpost com token inválido](./public/buscarpostpelocontent.png)\n\n![blogpost com token inválido](./public/listarpostcampovazio.png)\n\n![blogpost com token inválido](./public/listarumpostquenaoexiste.png)\n\n\n### Rodando o Projeto Localmente\n\n1° `git clone git@github.com:lucasam1992/project-blogs-api.git` - Clone o repositório para sua máquina\u003cbr /\u003e\n\n2° `cd project-blogs-api` - Entre na pasta do repositório clonado\u003cbr /\u003e\n\n3° `npm install` - Instale as depedências\u003cbr /\u003e\n\n4° `npm start` - Execute o programa\u003cbr /\u003e\n**Sugestão: Baixe o programa Insomina para executar cada operação do CRUD: https://snapcraft.io/install/insomnia/ubuntu\n\n#### Conexão com o Banco \n\nPara que o projeto rode em sua máquina, você deve criar as seguintes variáveis de ambiente:\n\n`host: process.env.HOSTNAME` \u003cbr /\u003e\n`user: process.env.MYSQL_USER`\u003cbr /\u003e\n`password: process.env.MYSQL_PASSWORD` \u003cbr /\u003e\n\n# Autor\n   - Lucas Machado\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasam1992%2Fproject-blogs-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasam1992%2Fproject-blogs-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasam1992%2Fproject-blogs-api/lists"}