{"id":15091815,"url":"https://github.com/giannifontanot/tech-blog","last_synced_at":"2026-02-15T17:08:47.005Z","repository":{"id":47561335,"uuid":"396871474","full_name":"giannifontanot/tech-blog","owner":"giannifontanot","description":"(NODE JS , WEB APP) - This project is about creating a blog site where developers can publish their blog posts and comment on other developers’ posts as well.  It's live on Heroku! 🔗","archived":false,"fork":false,"pushed_at":"2021-10-10T18:32:40.000Z","size":2335,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-26T09:06:29.128Z","etag":null,"topics":["expressjs","handlebarsjs","javascript","nodejs"],"latest_commit_sha":null,"homepage":"https://gianni-tech-blog.herokuapp.com/","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/giannifontanot.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":"2021-08-16T16:12:42.000Z","updated_at":"2022-07-21T17:37:45.000Z","dependencies_parsed_at":"2022-07-25T04:46:05.697Z","dependency_job_id":null,"html_url":"https://github.com/giannifontanot/tech-blog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/giannifontanot/tech-blog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giannifontanot%2Ftech-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giannifontanot%2Ftech-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giannifontanot%2Ftech-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giannifontanot%2Ftech-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giannifontanot","download_url":"https://codeload.github.com/giannifontanot/tech-blog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giannifontanot%2Ftech-blog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275014238,"owners_count":25390647,"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-09-13T02:00:10.085Z","response_time":70,"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":["expressjs","handlebarsjs","javascript","nodejs"],"created_at":"2024-09-25T11:00:25.346Z","updated_at":"2026-02-15T17:08:41.971Z","avatar_url":"https://github.com/giannifontanot.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![Status Stable](https://img.shields.io/badge/Status-Stable-blue)\n[![MIT License](https://img.shields.io/badge/License-MIT%20License-brightgreen)](https://github.com/tterb/atomic-design-ui/blob/master/LICENSEs)\n# Tech Blog\nThis project is about creating a blog site similar to a Wordpress site, where developers can publish their blog posts and comment on other developers’ posts as well. It follows the MVC paradigm in its architectural structure, using Handlebars.js as the templating language, Sequelize as the ORM, and the express-session npm package for authentication.\n## Table of Contents\n- Tech Blog\n\t* [Installation](#installation)\n\t* [Usage](#usage)\n\t* [Database](#database)\n    * [Credits](#credits)\t  \n\t* [Future Features](#Future-Features)\n\t* [Contributions](#contributions)\n- [🔗 Links](#---links)\n\t+ [GitHub Repository](#github-repository)\n\t+ [Live Link in Heroku](#Live-Link-in-Heroku)\n\t+ [Support](#support)\n\t+ [Authors](#authors)\n## Installation\nThis project uses many packages from NPM. \n- app-root-path \n- connect-session-sequelize \n- express \n- express-handlebars \n- memorystore \n- mysql2 \n- bcrypt \n- dotenv \n- express-session \n- sequelize\n\n## Usage\nThe user can browse the blog without authentication, but if he or she wants to post or comment about other \npeople's posts, then a login is needed. The site is very easy to navigate. There is an option to create a new user, in \ncase someone wants to contribute but is not registered yet.\n\n![tech-blog.gif](docs/tech-blog.gif)\n\n## Database\nThis is the structure of the schema used for the project.\n![tech_blog_db.png](docs/tech_blog_db.png)\n\n\n## Credits\nFollowing are the websites that helped me the most to understand and solve some problems I found while developing \nthe project. \n - [sequelize associations](https://sequelize.org/master/manual/associations.html)\n - [Four Sequelize Associations You Should Know](https://javascript.plainenglish.io/four-sequelize-associations-you-should-know-415d8d413e1e)\n - [A Step By Step Guide To Using Handlebars With Your Node js App](https://waelyasmina.medium.com/a-guide-into-using-handlebars-with-your-express-js-application-22b944443b65)\n - [How to deploy a NodeJS app to Heroku](https://www.freecodecamp.org/news/how-to-deploy-a-nodejs-app-to-heroku-from-github-without-installing-heroku-on-your-machine-433bec770efe/)\n\n## Current Features\n````````````````````````\n- It is a CMS-style blog site\n- Uses authentication to distinguish among users\n- Follows the MVC paradigm of architectural structure\n- Its easy to navigate and use\n````````````````````````\n## Future Features\n````````````````````````\n- Make the Blog mobile-friendly\n- Ability to choose different color palettes\n````````````````````````\n## Contributions\nIf you would like to contribute to this project , you are very welcome! You can fork it and later submit a pull request. \nIn case you need them, here are some guidelines: [Contributor Covenant](https://www.contributor-covenant.org/)\n# 🔗 Links\n### GitHub Repository\n[https://github.com/giannifontanot/tech-blog/](https://github.com/giannifontanot/tech-blog/)\n### Live Link in Heroku\n[https://gianni-tech-blog.herokuapp.com/](https://gianni-tech-blog.herokuapp.com/)\n### Support\nIf you need help with this project, please write to: [giannifontanot@gmail.com](https://mailto:giannifontanot@gmail.com)\n### Authors\n - [@giannifontanot](https://www.github.com/giannifontanot)\n - [![portfolio](https://img.shields.io/badge/my_portfolio-000?style=for-the-badge\u0026logo=ko-fi\u0026logoColor=white)](https://giannifontanot.github.io/portfolio/)\n - [![linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/gianni-fontanot/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiannifontanot%2Ftech-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiannifontanot%2Ftech-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiannifontanot%2Ftech-blog/lists"}