{"id":20166158,"url":"https://github.com/yolgesanchez/bloxify_blog_app","last_synced_at":"2026-04-04T21:31:26.880Z","repository":{"id":257305968,"uuid":"854444075","full_name":"YolgeSanchez/bloxify_blog_app","owner":"YolgeSanchez","description":"Full-stack blog application built with Node.js, Express.js, and React.js.","archived":false,"fork":false,"pushed_at":"2024-11-11T17:19:59.000Z","size":250,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-04T18:52:29.741Z","etag":null,"topics":["express","ftp-server","jwt","mongodb","mongoose","multer","nodejs","react","shadcn-ui","tailwindcss","zod"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YolgeSanchez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-09-09T07:22:57.000Z","updated_at":"2025-08-02T07:05:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"93974822-ae5a-4b71-a4a1-2b4edfb9d199","html_url":"https://github.com/YolgeSanchez/bloxify_blog_app","commit_stats":null,"previous_names":["yolgesanchez/blogapp","yolgesanchez/bloxify_blog_app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/YolgeSanchez/bloxify_blog_app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YolgeSanchez%2Fbloxify_blog_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YolgeSanchez%2Fbloxify_blog_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YolgeSanchez%2Fbloxify_blog_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YolgeSanchez%2Fbloxify_blog_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YolgeSanchez","download_url":"https://codeload.github.com/YolgeSanchez/bloxify_blog_app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YolgeSanchez%2Fbloxify_blog_app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31415110,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["express","ftp-server","jwt","mongodb","mongoose","multer","nodejs","react","shadcn-ui","tailwindcss","zod"],"created_at":"2024-11-14T00:42:46.000Z","updated_at":"2026-04-04T21:31:26.844Z","avatar_url":"https://github.com/YolgeSanchez.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bloxify Blog App\n\nBloxify is a full-stack blog application built with Node.js, Express.js, and React.js. It allows users to create an account, upload an avatar, create and edit blog posts, like and unlike posts, and view their profile and liked posts.\n\n## 🌟 Features\n\n- User authentication and authorization\n- Avatar upload and display\n- Blog post creation, editing, and deletion\n- Liking and unliking posts\n- Profile and liked posts views\n- Responsive design for mobile and desktop devices\n\n## 🚀 Quick Start\n\n### Clone the Repository\n\n```\ngit clone https://github.com/YolgeSanchez/bloxify_blog_app.git\n```\n\n### Install Dependencies\n\n```\nnpm install | npm i\ncd client\nnpm install | npm i\n```\n\n### Run the project server and client\n\n```\nnpm run dev // in the main directory\ncd client // in another terminal\nnpm run dev // again but in the client directory\n```\n\n### Configure Environment Variables\n\nCreate a `.env` file in the root directory and add the following:\n\nTo run Bloxify, you need to set up the following environment variables:\n\n```\nFTP_HOST: The hostname or IP address of your FTP server\nFTP_USER: The username for your FTP server\nFTP_PSSWD: The password for your FTP server\nFTP_PORT: The port number for your FTP server (default is 21)\nMONGO_DB_CONNECTION: The connection string for your MongoDB database\nCORS_ORIGIN: The origin URL for CORS (default is http://localhost:5173)\n```\n\n## 📁 FTP Server\nTo use Bloxify, you need to set up an FTP server with a virtual folder route of /uploads, this ftp server is the one who manage the images uploaded by the users for posts or avatars\n\n## 🛠️ Technologies Used\n\n- vite (for the client setup)\n- ReactJS\n- ShadcnUI\n- TailwindCSS\n- React hook form\n- Node.js\n- Express.js\n- MongoDB\n- Mongoose\n- basic-ftp (for the ftp connection and use)\n- ZOD (for data validation)\n- JSON Web Tokens (JWT)\n- Multer (for images uploads)\n\n## 📝 License\n\nThis project is [MIT](https://opensource.org/licenses/MIT) licensed.\n\n---\n\nHappy coding! If you liked this project, please consider giving it a star on GitHub.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyolgesanchez%2Fbloxify_blog_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyolgesanchez%2Fbloxify_blog_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyolgesanchez%2Fbloxify_blog_app/lists"}