{"id":16109455,"url":"https://github.com/iamrishupatel/devlog","last_synced_at":"2025-10-26T02:33:50.328Z","repository":{"id":38385099,"uuid":"457924928","full_name":"iamrishupatel/devlog","owner":"iamrishupatel","description":"DevLog is blogging platform for developers. This app is built with Next.js and Firebase and is loosely inspired by Dev.to","archived":false,"fork":false,"pushed_at":"2024-09-15T15:22:20.000Z","size":1567,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T08:33:35.543Z","etag":null,"topics":["blog","blogging-platform","blogging-site","firebase","javascript","nextjs","react","reactjs","seo-friendly"],"latest_commit_sha":null,"homepage":"https://devlog.rlabs.dev","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/iamrishupatel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2022-02-10T19:48:22.000Z","updated_at":"2025-01-18T01:14:56.000Z","dependencies_parsed_at":"2024-09-15T16:41:19.275Z","dependency_job_id":"a14beac7-9d1a-47e7-886f-929a4256236f","html_url":"https://github.com/iamrishupatel/devlog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamrishupatel%2Fdevlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamrishupatel%2Fdevlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamrishupatel%2Fdevlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamrishupatel%2Fdevlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamrishupatel","download_url":"https://codeload.github.com/iamrishupatel/devlog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910666,"owners_count":20367546,"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":["blog","blogging-platform","blogging-site","firebase","javascript","nextjs","react","reactjs","seo-friendly"],"created_at":"2024-10-09T19:32:13.539Z","updated_at":"2025-10-26T02:33:45.309Z","avatar_url":"https://github.com/iamrishupatel.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![devlog-banner](/public/devlog-banner.png)\n\n# Devlog\n\n![Vercel](https://therealsujitk-vercel-badge.vercel.app/?app=devlog\u0026style=for-the-badge)\n![GitHub last commit](https://img.shields.io/github/last-commit/iamrishupatel/devlog?style=for-the-badge)\n![GitHub issues](https://img.shields.io/github/issues-raw/iamrishupatel/devlog?style=for-the-badge)\n![GitHub pull requests](https://img.shields.io/github/issues-pr/iamrishupatel/devlog?style=for-the-badge)\n![Licence](https://img.shields.io/github/license/iamrishupatel/devlog?style=for-the-badge)\n![Lines of code](https://img.shields.io/tokei/lines/github/iamrishupatel/devlog?style=for-the-badge)\n![GitHub repo size](https://img.shields.io/github/repo-size/iamrishupatel/devlog?style=for-the-badge)\n![Uptime Robot ratio (7 days)](https://img.shields.io/uptimerobot/ratio/7/m791924769-29870badb5a5d78e2bb8136a?style=for-the-badge)\n![Twitter](https://img.shields.io/twitter/follow/iamrishupatel?style=for-the-badge)\n\nDevlog is blogging platform for developers built with Next.js and Firebase and is loosely inspired by Dev.to\n\nSign up for an 👨‍🎤 account, ✍️ write posts, then 💖 heart and ✍ comment on content created by other users. All public content is server-rendered and search-engine optimized.\n\n\u003e visit devlog [here](https://thedevlog.vercel.app) or [here](https://devlog.rlabs.dev)\n\n## Features\n\n- 🔐 Authentication\n\n  - Google OAuth\n  - Facebook OAuth\n  - Github OAuth\n\n- Blogging\n\n  - ✍ Write your blog\n  - 🗞 Update your blog\n  - 📖 Read blogs written by othes\n  - 💀 Delete your blog\n\n- 💞 Realtime hearts\n- 👨‍💻 Realtime comments\n- 🔫 Reply on comments\n- 📂 Image file uploads\n- 📰 Bot-friendly content (SEO)\n- 👨‍🎤 Custom Firebase usernames\n\n## Tech stack\n\n- React\n- NextJs\n- Firebase\n\n## Running Locally\n\nThere are some prerequisites to run the app successfully on your local machine, follow the below steps to get started\n\n### Prerequisites\n\n- [Node](https://nodejs.org/en/) `16` or higher\n- [npm](https://www.npmjs.com/) `8.5.0` or higher\n\nRun the below commands in your terminal to confirm that all the requirements are passed to run the project Locally\n\n- `node -v`\n- `npm -v`\n\nAll the above commands should execute successfully and output the version numbers specified\n\n### Project setup\n\n**Clone the project repository**\n\n```\ngit clone https://github.com/iamrishupatel/devlog.git\n```\n\n**Navigate to the project directory**\n\n```\ncd devlog\n```\n\n**Install Dependencies**\n\n```\nnpm install\n```\n\n#### Firebase Setup\n\nComplete the proces to create a firebase project and register a web app,\nand initialize Authentication, Firestore and Storage Services\n\n**_Environment Variables_**\n\n- Create a file name `.env.local` in the root directory of your project\n- Browse to your firebase project settings, by clicking on the gear or cog icon in the left sidebar\n- In the general setion of project settings, scroll down until you find `firebaseConfig` object with some project credentials\n- Now fill your `.env.local` with the values from `firebaseConfig` object in your firebase project settings\n- All enviornment Variables in `.env.local` 👇\n\n  - NEXT_PUBLIC_FIRE_API_KEY=\u003cfill_value_from_firebaseConfig\u003e\n  - NEXT_PUBLIC_FIRE_AUTH_DOMAIN=\u003cfill_value_from_firebaseConfig\u003e\n  - NEXT_PUBLIC_FIRE_PROJECT_ID=\u003cfill_value_from_firebaseConfig\u003e\n  - NEXT_PUBLIC_FIRE_SB=\u003cfill_value_from_firebaseConfig\u003e\n  - NEXT_PUBLIC_FIRE_MESSAGE_SENDER_ID=\u003cfill_value_from_firebaseConfig\u003e\n  - NEXT_PUBLIC_FIRE_APP_ID=\u003cfill_value_from_firebaseConfig\u003e\n  - NEXT_PUBLIC_FIRE_MEASUREMENT_ID=\u003cfill_value_from_firebaseConfig\u003e\n\n**_Authentication Setup_**\n\n- To perform authentication via google enable the sign in provider from the Authentication tab of fireabase console.\n- You can follow this [guide](https://firebase.google.com/docs/auth/web/facebook-login) for authentication via facebook\n- You can follow this [guide](https://firebase.google.com/docs/auth/web/github-auth) for authentication via github\n\nNow that all requirements are in place lets start our servers\n\nRun `npm run dev` to start client on port 3000\n\n🥳 Hurray! you made it, go ahead to localhost:3000 to see the project in action\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamrishupatel%2Fdevlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamrishupatel%2Fdevlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamrishupatel%2Fdevlog/lists"}