{"id":22147985,"url":"https://github.com/victorsouza19/podblog","last_synced_at":"2025-07-27T14:44:03.388Z","repository":{"id":149580494,"uuid":"418339930","full_name":"victorsouza19/podblog","owner":"victorsouza19","description":"Blog focado em trazer conteúdos relevantes sobre podcasts, o foco do projeto foi no Back-end, focado no CRUD completo dos artigos e categorias do blog. ","archived":false,"fork":false,"pushed_at":"2021-10-23T20:52:15.000Z","size":1164,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T19:51:32.199Z","etag":null,"topics":["bcryptjs","css","ejs","express","html","javascript","mysql","nodejs","sequelize","sweetalert2","tinymce"],"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/victorsouza19.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":"2021-10-18T04:10:37.000Z","updated_at":"2022-07-12T11:15:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"378b91ca-c316-4b9b-bf40-d395a025920f","html_url":"https://github.com/victorsouza19/podblog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/victorsouza19/podblog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorsouza19%2Fpodblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorsouza19%2Fpodblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorsouza19%2Fpodblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorsouza19%2Fpodblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/victorsouza19","download_url":"https://codeload.github.com/victorsouza19/podblog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorsouza19%2Fpodblog/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267371803,"owners_count":24076671,"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-07-27T02:00:11.917Z","response_time":82,"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":["bcryptjs","css","ejs","express","html","javascript","mysql","nodejs","sequelize","sweetalert2","tinymce"],"created_at":"2024-12-01T23:25:29.014Z","updated_at":"2025-07-27T14:44:03.382Z","avatar_url":"https://github.com/victorsouza19.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003e Bem vindo ao -PodBlog- ! :wave: \u003c/h1\u003e\r\n\u003cp align=\"right\"\u003e\r\n  \u003ca href=\"https://www.linkedin.com/in/victorsouza19/\" target=\"_blank\" alt=\"Linkedin\"\u003e\r\n   \u003cimg src=\"https://img.shields.io/badge/-Linkedin-1C1C1C?style=for-the-badge\u0026logo=Linkedin\u0026logoColor=00FFFF\u0026link=https://www.linkedin.com/in/victorsouza19/\"/\u003e\r\n  \u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n\u003ch4\u003e Este é um repositório focado em aprofundar os estudos em Node.JS, e nele desenvolvemos um blog sobre podcasts responsivo com autenticação de usuário e CRUD completo na parte de admin do blog.\u003c/h4\u003e\r\n\r\n\r\n  \r\n  ### Tecnologias usadas:\r\n \u003cdiv align=\"center\"\u003e\r\n  \u003cimg align=\"center\"  alt=\"Victor-Souza\" height=\"50\" width=\"50\" src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/html5/html5-original.svg\"\u003e\r\n  \u003cimg align=\"center\" alt=\"Victor-Souza\" height=\"50\" width=\"50\" src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/css3/css3-original.svg\"\u003e  \r\n  \u003cimg align=\"center\" alt=\"Victor-Souza\" height=\"50\" width=\"50\" src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/javascript/javascript-plain.svg\"\u003e\r\n  \u003cimg align=\"center\" alt=\"Victor-Souza\" height=\"50\" width=\"50\" src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/nodejs/nodejs-plain.svg\"\u003e\r\n  \u003cimg align=\"center\" alt=\"Victor-Souza\" height=\"50\" width=\"50\" src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/sequelize/sequelize-plain.svg\"\u003e\r\n  \u003cimg align=\"center\" alt=\"Victor-Souza\" height=\"50\" width=\"50\" src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/mysql/mysql-plain.svg\"\u003e\r\n  \u003cimg align=\"center\" alt=\"Victor-Souza\" height=\"50\" width=\"50\" src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/bootstrap/bootstrap-plain.svg\"\u003e\r\n\u003c/div\u003e\u003cbr\u003e\r\n\r\n\u003ch2\u003e Projeto \u003c/h2\u003e\r\n \u003cbr\u003e\r\n\r\n\u003e Home\r\n\u003e \r\n![podblog-home](https://user-images.githubusercontent.com/71740612/138571063-b28ce3a2-e559-4c4c-b249-ed5745a9da73.png)\r\n\r\n\u003cbr\u003e\u003cbr\u003e\r\n\r\n\u003e Listagem de Artigos\u003cstrong\u003e(Admin)\u003c/strong\u003e\r\n\u003e \r\n![podblog-admin](https://user-images.githubusercontent.com/71740612/138571163-8dc856ae-fc67-40d7-b2cc-b083626c9914.png)\r\n\r\n\u003cbr\u003e\u003cbr\u003e\r\n\r\n\u003e Deletar Artigo (com o SweetAlert2 em ação para conferir se o usuário não apertou o botão pode engano)\u003cstrong\u003e(Admin)\u003c/strong\u003e\r\n\u003e \r\n![podblog-delete](https://user-images.githubusercontent.com/71740612/138571167-1befca7b-119c-4162-94c2-9f42c5b7e94d.png)\r\n\r\n\u003cbr\u003e\u003cbr\u003e\r\n\r\n\u003e Edição de Artigo\u003cstrong\u003e(Admin)\u003c/strong\u003e\r\n\u003e \r\n![podblog-edit](https://user-images.githubusercontent.com/71740612/138571173-7c947538-d34c-4f90-ab98-5e1f4ccfdf54.png)\r\n\r\n##\r\n\r\n\r\n\u003cdiv align=\"left\"\u003e\r\n  O foco do projeto foi no back-end, buscando entender melhor alguns recursos e bibliotecas do Node.JS, foi feito uma básica estilização da página home, com a ajuda do Bootstrap, \r\n  e trabalhando com as bibliotecas do Express, foi possível criar um sistema de autenticação e verificação de usuário com o express.sessions, e criação de hash no cadastro dos usuários com o bcryptjs. \r\n  Foi utilizado também a biblioteca do SweetAlert2, onde é possível criar alertas personalizados para diferentes situações, com ele criamos uma mensagem de confirmação na exclusão \r\n  dos artigos e categorias, para prevenir possíveis deleções involuntárias. Para a conexão com o banco de dados utilizamos o ORM Sequelize.\r\n\u003c/div\u003e\r\n\r\n\u003ch2\u003e Quer contribuir? :raised_hands: \u003c/h2\u003e\r\n \u003cbr\u003e\r\n \r\n Este é um respositório público, logo você está livre para ter uma cópia do projeto,  e se achar algum problema ou tiver alguma contribuição, pode fazer um **fork** do projeto, e sinta-se a vontade para fazer um **pull request**.\r\n \r\n Para rodar a aplicação, você precisará:\r\n - Ajustar o arquivo \u003ccode\u003edatabase.js\u003c/code\u003e de acordo com o seu banco de dados.\r\n - Importar as bibliotecas e dependências com \u003ccode\u003enpm install\u003c/code\u003e na pasta do projeto.\r\n - É recomendado ter o nodemon instalado na sua máquina, caso não tenha, pode instalar globalmente com  \u003ccode\u003enpm install -g nodemon\u003c/code\u003e e rodar o arquivo index.js para iniciar o servidor express com o comando \u003ccode\u003enodemon index.js\u003c/code\u003e na pasta raiz do projeto. (Caso não tenha basta executar  \u003ccode\u003enode index.js\u003c/code\u003e, mas caso você faça alterações terá que reiniciar o servidor novamente).\r\n\r\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\r\n\u003cdiv align=\"center\"\u003e\r\n  \u003cp\u003eFeito com :purple_heart: e :coffee: por \u003cstrong\u003eVictor Souza\u003c/strong\u003e\u003c/p\u003e\r\n\u003c/div\u003e\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictorsouza19%2Fpodblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvictorsouza19%2Fpodblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictorsouza19%2Fpodblog/lists"}