{"id":15177646,"url":"https://github.com/professorsergio12/blog-website","last_synced_at":"2026-01-31T15:01:23.036Z","repository":{"id":255161675,"uuid":"848632455","full_name":"professorSergio12/Blog-website","owner":"professorSergio12","description":"MERN blog project ","archived":false,"fork":false,"pushed_at":"2025-09-03T10:21:32.000Z","size":300,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-26T16:39:09.154Z","etag":null,"topics":["bcyrpt","firebase-auth","firebase-storage","jwt-authentication","mongodb","nodejs","react","react-router","redux-toolkit","tailwindcss"],"latest_commit_sha":null,"homepage":"https://blog-website-y2o9.onrender.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/professorSergio12.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-28T05:50:33.000Z","updated_at":"2025-09-03T10:21:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"04ec7a48-914c-4893-9239-5ea27ee769a8","html_url":"https://github.com/professorSergio12/Blog-website","commit_stats":{"total_commits":47,"total_committers":2,"mean_commits":23.5,"dds":0.04255319148936165,"last_synced_commit":"1a725d493e5ac915d699c3a900ad8e44ed81820d"},"previous_names":["professorsergio12/blog-website"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/professorSergio12/Blog-website","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/professorSergio12%2FBlog-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/professorSergio12%2FBlog-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/professorSergio12%2FBlog-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/professorSergio12%2FBlog-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/professorSergio12","download_url":"https://codeload.github.com/professorSergio12/Blog-website/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/professorSergio12%2FBlog-website/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28946050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T14:26:55.697Z","status":"ssl_error","status_checked_at":"2026-01-31T14:26:52.545Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["bcyrpt","firebase-auth","firebase-storage","jwt-authentication","mongodb","nodejs","react","react-router","redux-toolkit","tailwindcss"],"created_at":"2024-09-27T14:41:34.942Z","updated_at":"2026-01-31T15:01:23.014Z","avatar_url":"https://github.com/professorSergio12.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Full-Stack Blog Website\n\n\n## Overview\nThis is a fully functional blog website where users can sign up, log in, like, comment on blogs, and sign out. It includes an admin dashboard for posting, updating, and deleting blogs, \nas well as viewing site analytics like total posts and comments. The website supports dark/light themes and is fully responsive across devices.\n\n### Features\n- User Authentication: Users can sign up/log in using email/password or Google Firebase authentication.\n- Blog Interaction: Users can like posts, comment on blogs, and view all published blogs.\n- Admin Dashboard: Admin can create, update, and delete blogs, and view total posts, total comments, and last month's activity.\n- Dark/Light Theme Toggle: Users can switch between dark and light modes.\n- Responsive Design: The website is fully responsive and works seamlessly across devices.\n- Session Management: Cookies are used to manage user sessions, ensuring secure login.\n- Data Fetching \u0026 Testing: Admin functionalities are tested using Postman for data fetching.\n\n### Technology Stack\n- Frontend: React.js, Tailwind CSS, Redux Toolkit\n- Backend: Node.js, MongoDB, Express.js\n- Authentication: Firebase (Google and email/password), JWT, Bcrypt\n- Storage: Firebase Storage\n- Session Management: JWT and Cookies\n- Deployment: Render for hosting the site\n- State Management: Redux Toolkit\n\n ## Installation \u0026 Setup\n To run this project locally, follow these steps:\n\n1.  Clone the repository:\n```\ngit clone https://github.com/professorSergio12/Blog-website.git\ncd MERN-Blog\n```\n\n2. Install dependencies for both backend and frontend:\n### In the project root directory\n```\nnpm install\ncd client\nnpm install\n```\n3. Set up environment variables:\nCreate a two .env file one in the root directory and another in client directory add the following variables:\nIn root directory:\n```\nDATABASE_URL=your_mongodb_connection_string\nJWT_SECRET=your_jwt_secret\n```\nIn client directory:\n```\nFIREBASE_API_KEY=your_firebase_api_key\n```\n4. Run the project:\n```\nnpm run dev\ncd client\nnpm run dev\n```\nTo run the frontend as well as backend\n### Admin Dashboard\nTo access the admin dashboard, log in as an admin (you can set this in your database manually) and navigate to /admin. From there, you can:\n\n- Post new blogs\n- Update and delete blogs\n- View total posts, comments, and last month's activity\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessorsergio12%2Fblog-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofessorsergio12%2Fblog-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessorsergio12%2Fblog-website/lists"}