{"id":30584180,"url":"https://github.com/BinarySenseiii/personal-website","last_synced_at":"2025-08-29T09:03:11.816Z","repository":{"id":260108267,"uuid":"790714827","full_name":"BinarySenseiii/personal-website","owner":"BinarySenseiii","description":"Open Source Personal website powered by Next.js, TypeScript, Tailwind CSS, shadcn/ui, MDX, Framer Motion, Postgres, and Prisma","archived":false,"fork":false,"pushed_at":"2025-03-31T14:42:51.000Z","size":5616,"stargazers_count":26,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T16:03:41.461Z","etag":null,"topics":["blog","mdx","nextjs","personal-website","portfolio","postgres","prisma","react","seo","shadcn-ui","velite"],"latest_commit_sha":null,"homepage":"https://faisal-dev.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BinarySenseiii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-23T11:52:50.000Z","updated_at":"2025-03-31T14:42:55.000Z","dependencies_parsed_at":"2024-11-05T20:25:01.158Z","dependency_job_id":null,"html_url":"https://github.com/BinarySenseiii/personal-website","commit_stats":null,"previous_names":["binarysenseiii/personal-website"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BinarySenseiii/personal-website","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinarySenseiii%2Fpersonal-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinarySenseiii%2Fpersonal-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinarySenseiii%2Fpersonal-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinarySenseiii%2Fpersonal-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BinarySenseiii","download_url":"https://codeload.github.com/BinarySenseiii/personal-website/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinarySenseiii%2Fpersonal-website/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272658790,"owners_count":24971604,"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-08-29T02:00:10.610Z","response_time":87,"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":["blog","mdx","nextjs","personal-website","portfolio","postgres","prisma","react","seo","shadcn-ui","velite"],"created_at":"2025-08-29T09:03:06.912Z","updated_at":"2025-08-29T09:03:11.769Z","avatar_url":"https://github.com/BinarySenseiii.png","language":"TypeScript","funding_links":[],"categories":["Boilerplates \u0026 Starters"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"\" src=\"https://res.cloudinary.com/dpcu6eyk8/image/upload/v1715346466/Screenshot_2024-05-10_170723_ovc1wu.png\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\n  faisal-dev\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca aria-label=\"Framework\" href=\"https://nextjs.org\"\u003e\n    \u003cimg alt=\"\" src=\"https://img.shields.io/badge/Next.js-000000.svg?style=for-the-badge\u0026logo=Next.js\u0026labelColor=000\"\u003e\n  \u003c/a\u003e\n  \u003cimg alt=\"\" src=\"https://img.shields.io/github/languages/top/tszhong0411/honghong.me?style=for-the-badge\u0026labelColor=000\"\u003e\n  \u003ca aria-label=\"License\" href=\"https://github.com/tszhong0411/honghong.me/blob/main/LICENSE\"\u003e\n    \u003cimg alt=\"\" src=\"https://img.shields.io/github/license/tszhong0411/honghong.me?style=for-the-badge\u0026labelColor=000\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nWelcome to my personal website! where I share my thoughts, projects, insights \u0026 blogs. Feel free to\nexplore and get inspired\n\n## ✨ Features\n\n- ⚡️ Next.js 14 with App Router (Turbo)\n- 📝 MDX powered by \u003ca href=\"https://velite.js.org/\"\u003evelite\u003c/a\u003e\n- 🎨 Tailwind CSS - for styling\n- 🌈 Shadcn UI - accessible UI components\n- 🛡 Strict TypeScript and ESLint configuration\n- 📱 Responsive design\n- 📈 SEO optimized with meta tags and JSON-LD\n- 📰 RSS feed\n- 🗺 Sitemap\n- 📊 Vercel Analytics\n- 📝 Blog with comments, likes, and post views\n- 🔎 Blog post search\n- 📖 Table of contents for blog posts\n- 📝 Code syntax highlighting - using Shiki\n- 🎨 Animation - using Framer Motion\n- 🏠 LightHouse score of nearly 100\n- 💄 Prettier - code formatting\n- 〰️ Prisma \u0026 Vercel Postgres\n- 👷🏻‍♂️ t3-env - validate environment variables before building\n\n## 🔨 Requirements\n\n- Node, recommended `20.x`\n- npm, recommended `10.5.0`\n- PostgreSQL, recommended `14.x` check\n  [https://vercel.com/storage/postgres](https://vercel.com/storage/postgres)\n- Visual Studio Code [https://code.visualstudio.com/](https://code.visualstudio.com/)\n- For the contact section, I'm using NoCode API [https://nocodeapi.com/](https://nocodeapi.com/).\n  Simply create an account here and under the marketplace, enable the Excel Sheet API. Once enabled,\n  you will receive a tabId and an API key.\n- For the blog comments, I'm using the Giscus component. Set up your configuration\n  [https://giscus.app/](https://giscus.app/).\n\n## 👋 Getting Started\n\nFollow these steps to run the project locally on your machine:\n\n```bash\ngit clone https://github.com/BinarySenseiii/personal-website.git\ncd personal-website\nnpm install\n```\n\nCreate a `.env.local` file based on the provided `.env.example` file and fill in the necessary\nvariables.\n\nOR you can skip this by modifying `src/constants/env.ts`:\n\n```ts\nexport const env = createEnv({\n  skipValidation: true,\n\n  server: {\n    // ...\n  },\n})\n```\n\nIt will skip the validation of environment variables. And you may notice that some functionalities\nwill not work properly. But it's okay for learning.\n\nThen generate prisma client:\n\n```bash\nnpx prisma generate\nnpx migrate dev --name any\n```\n\nTo run the app in development mode:\n\n```bash\nnpm run dev\n```\n\nThe app will be available at `localhost:3000`.\n\n## ✈️ TODO\n\n- ESM import { build } from 'velite' may be got a\n  [webpack.cache.PackFileCacheStrategy/webpack.FileSystemInfo] warning generated during the next\n  build process, which has little impact, refer to https://github.com/webpack/webpack/pull/15688\n\n## ✍🏻 Author\n\n- [@BinarySenseiii](https://github.com/BinarySenseiii)\n\n## 🪪 License\n\nThis project is open source and available under the [GPL3 License](LICENSE).\n\n\u003chr\u003e\n\u003cp align=\"center\"\u003e\nDesign \u0026 Developed by ❤️\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBinarySenseiii%2Fpersonal-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBinarySenseiii%2Fpersonal-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBinarySenseiii%2Fpersonal-website/lists"}