{"id":19557472,"url":"https://github.com/impfundev/geek-stories","last_synced_at":"2025-08-16T22:32:19.186Z","repository":{"id":243280514,"uuid":"735584290","full_name":"impfundev/geek-stories","owner":"impfundev","description":"Fullstack Blog Platform build with Next.js 14","archived":false,"fork":false,"pushed_at":"2024-06-08T10:26:36.000Z","size":1502,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T08:15:36.589Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://geek-stories.vercel.app","language":"TypeScript","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/impfundev.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":"2023-12-25T12:49:41.000Z","updated_at":"2024-06-08T10:26:39.000Z","dependencies_parsed_at":"2024-11-11T04:42:39.094Z","dependency_job_id":"6d6cd7aa-4e4f-4dee-91b5-c2bd322004cb","html_url":"https://github.com/impfundev/geek-stories","commit_stats":null,"previous_names":["impfundev/geek-stories"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/impfundev/geek-stories","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/impfundev%2Fgeek-stories","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/impfundev%2Fgeek-stories/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/impfundev%2Fgeek-stories/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/impfundev%2Fgeek-stories/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/impfundev","download_url":"https://codeload.github.com/impfundev/geek-stories/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/impfundev%2Fgeek-stories/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270781196,"owners_count":24643804,"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-16T02:00:11.002Z","response_time":91,"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":[],"created_at":"2024-11-11T04:42:37.079Z","updated_at":"2025-08-16T22:32:19.153Z","avatar_url":"https://github.com/impfundev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GEEK STORIES\n\n\u003cfigure style=\"display: flex;align-items:center;\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/impfundev/geek-stories/main/public/screenshoot.png\" width=\"400\" style=\"border-radius:1rem;\"\u003e\u003c/figure\u003e\n\nEmpower your content creation with GEEK STORIES, a fullstack headless CMS built with Next.js. Perfect for bloggers and portfolio creators.\n\n## Get in touch with me:\n\n- [Github](https://github.com/impfundev)\n- [LinkedIn](https://linkedin.com/in/ilhammp)\n- [Email](mailto:ilhammaulana.dev@gmail.com)\n\n## Features:\n\n- Easy content management\n- Flexible headless architecture\n- Notion style rich text editor\n- Monetize your audience with subscription plan management, secure payments with Midtrans payment gateaway integration\n- and more\n\n## Tech Stack\n\n\u003cimg src=\"https://raw.githubusercontent.com/impfundev/geek-stories/main/public/next.svg\" width=\"200\" style=\"margin: 1rem;padding:1rem;background-color:#fff;border-radius:1rem;\"\u003e\n\n- Node.js\n- Next.js 14 (App Router)\n- Typescript\n- Support MySQL or PostgreSQL database\n- Prisma ORM\n- Midtrans (Payment Gateaway)\n- shadcn/ui or Radix UI\n- Novel Rich Text Editor (Titap Editor)\n- and more (see package.json)\n\n## Deployment\n\n\u003cimg src=\"https://raw.githubusercontent.com/impfundev/geek-stories/main/public/vercel.svg\" width=\"200\" style=\"margin: 1rem;padding:1rem;background-color:#fff;border-radius:1rem;\"\u003e\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/impfundev/geek-stories\u0026project-name=cms-geek-stories\u0026repository-name=geek-stories\u0026env=NEXT_PUBLIC_BASE_URL,DATABASE_URL,BLOB_READ_WRITE_TOKEN,NEXT_PUBLIC_SERVER_KEY,NEXT_PUBLIC_CLIENT_KEY)\n\nHow to integrate with Vercel PostgreSQL \u0026 Vercel Blob:\n\n- [Vercel PostgreSQL](https://vercel.com/docs/storage/vercel-postgres)\n- [Vercel Blob](https://vercel.com/docs/storage/vercel-blob/using-blob-sdk)\n\n## Getting Started\n\n### 1. Install dependencies\n\n```bash\nnpm install\n```\n\n### 2. Setup `.env`\n\n```bash\ncp .env.example .env\n```\n\ninside `.env`:\n\n```bash\n# BASE URL\nNEXT_PUBLIC_BASE_URL=\"http://localhost:3000\"\n\n# DATABASE\nDATABASE_URL=\"mysql://username:password@host:port/database\"\n\n# MEDIA STORAGE\nBLOB_READ_WRITE_TOKEN=\"\" # YOUR VERCEL BLOB TOKEN\n\n# AUTH\nSESSION_SECRET=\"\" # STRONG RANDOM SECRET\n\n# MIDTRANS SERVER KEY\nNEXT_PUBLIC_SERVER_KEY=\"SB-Mid-server-example\"\nNEXT_PUBLIC_CLIENT_KEY=\"SB-Mid-client-example\"\n```\n\n### 3. Setup database with prisma\n\n```bash\nnpx prisma generate\nnpx prisma db push\n```\n\n### 4. Seeding Required Data\n\nThis step populates your database with sample content for testing subscription functionalities. You can utilize Prisma Studio to explore the seeded data\n\n```bash\nnode prisma/seed.mjs\n```\n\nYou can check seed data with prisma studio\n\n```bash\nnpx prisma studio\n```\n\n### 5. Run the the app on local:\n\n#### Development mode:\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.\n\nThis project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.\n\n#### Staging/Production:\n\n```bash\nnpm run build\nnpm run start\n```\n\n## Learn More About Next.js\n\nTo learn more about Next.js, take a look at the following resources:\n\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.\n- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.\n\nYou can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimpfundev%2Fgeek-stories","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimpfundev%2Fgeek-stories","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimpfundev%2Fgeek-stories/lists"}