{"id":25434337,"url":"https://github.com/w3labkr/nextjs14-supabase-blog","last_synced_at":"2025-11-01T00:30:24.352Z","repository":{"id":208556426,"uuid":"721578317","full_name":"w3labkr/nextjs14-supabase-blog","owner":"w3labkr","description":"This is a dashboard starter template for the NextJS 14 app router using supabase based on shadcn-ui.","archived":true,"fork":false,"pushed_at":"2025-02-01T19:15:24.000Z","size":9215,"stargazers_count":53,"open_issues_count":0,"forks_count":15,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T20:23:59.562Z","etag":null,"topics":["ckeditor5","dashboard","i18next","javascript","js","nextjs","pwa","radix-ui","react","react-i18next","redux","redux-persist","redux-toolkit","shadcn-ui","supabase","supabase-auth","tailwindcss","ts","typescript"],"latest_commit_sha":null,"homepage":"","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/w3labkr.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-11-21T10:55:45.000Z","updated_at":"2025-02-01T19:16:25.000Z","dependencies_parsed_at":"2023-11-22T05:24:48.400Z","dependency_job_id":"4eed1c8d-ce6a-481e-95e9-258896f7236f","html_url":"https://github.com/w3labkr/nextjs14-supabase-blog","commit_stats":null,"previous_names":["w3labkr/nextjs-firebase-ninja","w3labkr/nextjs-ninja","w3labkr/nextjs-supabase-dashboard","w3labkr/nextjs14-supabase-blog"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w3labkr%2Fnextjs14-supabase-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w3labkr%2Fnextjs14-supabase-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w3labkr%2Fnextjs14-supabase-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w3labkr%2Fnextjs14-supabase-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/w3labkr","download_url":"https://codeload.github.com/w3labkr/nextjs14-supabase-blog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239242083,"owners_count":19605949,"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":["ckeditor5","dashboard","i18next","javascript","js","nextjs","pwa","radix-ui","react","react-i18next","redux","redux-persist","redux-toolkit","shadcn-ui","supabase","supabase-auth","tailwindcss","ts","typescript"],"created_at":"2025-02-17T06:01:57.702Z","updated_at":"2025-11-01T00:30:24.285Z","avatar_url":"https://github.com/w3labkr.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Boilerplates \u0026 Starters"],"sub_categories":[],"readme":"# NextJS 14 Supabase blog\n\nThis is a dashboard starter template for the [NextJS](https://nextjs.org) 14 app router using supabase based on [shadcn-ui](https://ui.shadcn.com).\n\n## Screenshots\n\n![screenshot](./screenshot.png)\n\n## Denpendencies\n\n- NextJS 14 + Typescript + Tailwind\n- Shadcn UI (Radix UI) + TimePicker + TagInput\n- react-hook-form + zod\n- react-i18next + zod-i18n-map\n- Redux Toolkit + Redux Persist\n- Supabase OAuth with PKCE flow (@supabase/ssr)\n- Supabase Email Auth with PKCE flow (@supabase/ssr)\n- Supabase Role-based Access Control (RBAC)\n- CKEditor 5 + Supabase Upload Adapter\n- PWA (Progressive Web Apps)\n\n## Table of Contents\n\n- [NextJS 14 Supabase blog](#nextjs-14-supabase-blog)\n  - [Screenshots](#screenshots)\n  - [Denpendencies](#denpendencies)\n  - [Table of Contents](#table-of-contents)\n  - [Folder and file Structure](#folder-and-file-structure)\n  - [Getting Started](#getting-started)\n  - [Generate Favicon](#generate-favicon)\n  - [Docs](#docs)\n  - [Define App URL](#define-app-url)\n  - [Troubleshooting](#troubleshooting)\n  - [License](#license)\n  - [Reference](#reference)\n\n## Folder and file Structure\n\nThe folder and file structure is based on nextjs app router [next.js project structure](https://nextjs.org/docs/getting-started/project-structure).\n\n```txt\n.\n├── app/                        # App Router\n│   └── api/\n│       ├── auth/               # Public API for authentication\n│       └── v1/                 # APIs that require authentication\n├── components/                 # React components\n├── config/                     # Configuration for site\n├── context/\n│   └── app-provider.ts         # Register context provider\n├── hooks/\n├── docs/                       # Documents\n├── lib/                        # Utility functions\n├── public/                     # Static assets to be served\n│   └── [locales]/              # Internationalization\n├── queries/                    # SWR for API\n├── screenshots/                # Screenshots\n├── store/                      # Redux reducers\n├── supabase/                   # Supabase CLI\n├── types/\n├── components.json             # Shadcn UI\n├── i18next.config.ts           # Internationalization\n└── package.json                # Project dependencies and scripts\n```\n\n## Getting Started\n\nFind and replace the following text in `supabase/seed.sql` and run sql.\n\n- `YOUR_BUCKET_ID`\n- `username@example.com`\n\nClone the repository to the current directory.\n\n```shell\ngit clone https://github.com/w3labkr/nextjs14-supabase-blog.git .\n```\n\nInstall all modules listed as dependencies.\n\n```shell\nnpm install\n```\n\nStart the development server.\n\n```shell\nnpm run dev\n```\n\n## Generate Favicon\n\nAdd `favicon.ico` file to `/app` directory.\n\n- [Favicon.ico \u0026 App Icon Generator](https://www.favicon-generator.org)\n\nGenerate manifest and splash screen.\n\n```shell\nvim public/manifest.json\n```\n\n- [PWA Image Generator](https://www.pwabuilder.com/imageGenerator),\n  [Maskable Icon Generator](https://progressier.com/maskable-icons-editor),\n  [PWA Manifest Generator](https://www.simicart.com/manifest-generator.html)\n- [Custom Splash Screen on iOS](https://appsco.pe/developer/splash-screens)\n\n## Docs\n\n- [INSTALLATION](./docs/INSTALLATION.md)\n- [CONFIGURATION](./docs/CONFIGURATION.md)\n- [DEPLOYING](./docs/DEPLOYING.md)\n- [LINTER](./docs/LINTER.md)\n- [EXAMPLES](./docs/EXAMPLES.md)\n\n## Define App URL\n\n- Environment: `NEXT_PUBLIC_APP_URL=`\n- Supabase Auth: Authentication \u003e URL Configuration \u003e Redirect URLs\n- Google cloud console: API \u003e Credentials\n- Google cloud console: API \u003e OAuth\n\n## Troubleshooting\n\n- For eslint, check the [latest version](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin?activeTab=versions) of `@typescript-eslint/eslint-plugin` and upgrade.\n- For ckeditor5, check the downloadable version in the [online builder](https://ckeditor.com/ckeditor-5/online-builder/) and upgrade.\n- If an error occurs in the pre-rendered `sitemap.xml`, access the page in development mode and run a rebuild.\n\n## License\n\nThis software license under the [MIT License](LICENSE).\n\n## Reference\n\n- [shadcn-ui/ui](https://github.com/shadcn-ui/ui)\n- [shadcn-ui/taxonomy](https://github.com/shadcn-ui/taxonomy)\n- [nextjs-slack-clone](https://github.com/supabase/supabase/tree/master/examples/slack-clone/nextjs-slack-clone)\n- [nextjs-subscription-payments](https://github.com/vercel/nextjs-subscription-payments)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw3labkr%2Fnextjs14-supabase-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fw3labkr%2Fnextjs14-supabase-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw3labkr%2Fnextjs14-supabase-blog/lists"}