{"id":14007229,"url":"https://github.com/tomsoderlund/reactnative-nextjs-template","last_synced_at":"2026-01-31T17:54:17.643Z","repository":{"id":51412378,"uuid":"346639172","full_name":"tomsoderlund/reactnative-nextjs-template","owner":"tomsoderlund","description":"Build native apps (iOS/Android/Windows/macOS) and an SEO-optimized web app from the same React codebase","archived":false,"fork":false,"pushed_at":"2024-03-28T08:59:01.000Z","size":3108,"stargazers_count":46,"open_issues_count":1,"forks_count":7,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-08-10T10:04:04.197Z","etag":null,"topics":["expo","nextjs","react-native","react-native-web"],"latest_commit_sha":null,"homepage":"https://reactnativenextjstemplate.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomsoderlund.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":"2021-03-11T09:00:18.000Z","updated_at":"2024-08-10T10:04:05.806Z","dependencies_parsed_at":"2023-02-09T19:30:29.464Z","dependency_job_id":"6ea567b5-3b29-4e10-bf23-83a9ac81c643","html_url":"https://github.com/tomsoderlund/reactnative-nextjs-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomsoderlund%2Freactnative-nextjs-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomsoderlund%2Freactnative-nextjs-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomsoderlund%2Freactnative-nextjs-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomsoderlund%2Freactnative-nextjs-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomsoderlund","download_url":"https://codeload.github.com/tomsoderlund/reactnative-nextjs-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227384189,"owners_count":17772330,"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":["expo","nextjs","react-native","react-native-web"],"created_at":"2024-08-10T10:01:55.666Z","updated_at":"2026-01-31T17:54:17.632Z","avatar_url":"https://github.com/tomsoderlund.png","language":"TypeScript","funding_links":["https://ko-fi.com/tomsoderlund"],"categories":["TypeScript"],"sub_categories":[],"readme":"# reactnative-nextjs-template\n\n\u003e NOTE: Work in progress until version is 1.0.0+\n\n**Build native apps (iOS/Android/Windows/macOS) and an SEO-optimized web app from the same React codebase, using React Native/Expo and Next.js**\n\n(Created with `npx create-next-app -e with-expo [PROJECTNAME]`)\n\n![reactnative-nextjs-template demo on phone](docs/github_preview.jpg)\n\n_Note: this is my v5 boilerplate for React apps. See also my [Next.js + Firebase boilerplate](https://github.com/tomsoderlund/nextjs-pwa-firebase-boilerplate)._\n\n## Why is this awesome?\n\nThis allows you to build _both_ a native app for [iOS/Android/Windows/macOS/etc](https://reactnative.dev/docs/out-of-tree-platforms), as well as an SEO-optimized web app _from same codebase_.\n\n### Use cases\n\n1. You want a **same user experience** in a native app and on the web.\n2. You want a **shared codebase** between a native app and a separate website.\n3. You want a **shared repository** for native app and its API, powered by Next.js and Vercel serverless functions.\n\n## Todo list\n\n- [X] Server-side rendering (SSR)\n- [X] SEO: Semantic tags e.g. H1, H2, H3\n- [X] SEO: Page metadata support\n- [X] Header (from `react-native-elements`)\n- [X] Video player\n- [x] Built-in REST API (`GET /api/test`)\n- [ ] Navigation\n- [ ] Flexible CSS solution\n- [ ] Font support\n- [ ] SVG support\n\n## Demo\n\nSee [**reactnative-nextjs-template** running on Vercel here](https://reactnativenextjstemplate.vercel.app/).\n\n![reactnative-nextjs-template demo on phone](docs/demo.jpg)\n\n## Support this project\n\nDid you or your company find `reactnative-nextjs-template` useful? Please consider giving a small donation, it helps me spend more time on open-source projects:\n\n[![Support Tom on Ko-Fi.com](https://www.tomsoderlund.com/ko-fi_tomsoderlund_50.png)](https://ko-fi.com/tomsoderlund)\n\n## Deploying\n\nSetup and deploy your own project using this template with [Vercel](https://vercel.com):\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/git?s=https%3A%2F%2Fgithub.com%2Ftomsoderlund%2Freactnative-nextjs-template\u0026env=NEXT_PUBLIC_FIREBASE_API_KEY\u0026envDescription=Enter%20your%20public%20Firebase%20API%20Key\u0026envLink=https://github.com/tomsoderlund/reactnative-nextjs-template#deploying-with-vercel)\n\n## How to use\n\n\u003e Note: If you set up your project using the Deploy button above, you only need to clone your own repo instead of this repository.\n\nClone this repository:\n\n    git clone https://github.com/tomsoderlund/reactnative-nextjs-template.git [MY_APP]\n    \n    cd [MY_APP]\n\nRemove the `.git` folder since you want to create a new repository\n\n    rm -rf .git\n\nInstall dependencies:\n\n    yarn  # or npm install\n\nStart it in Next.js/web mode by:\n\n    yarn dev:next\n\n…then navigate to `http://localhost:3005/`\n\nStart Expo for native apps:\n\n\tyarn dev\n\nIn production:\n\n    yarn build\n    yarn start\n\n## Modifying the app to your needs\n\n### Change app name\n\nDo search/replace for `reactnativenextjstemplate` to something else. Avoid hyphens/underscores because of iOS/Android bundle names.\n\nChange name in `public/manifest.json`\n\n### Change port number\n\nDo search/replace for “3005” to something else.\n\n## Read more\n\n- Expo’s guide on Next.js: https://docs.expo.dev/guides/using-nextjs/\n    - [@expo/next-adapter](https://github.com/expo/expo-cli/tree/main/packages/next-adapter)\n    - Code example: https://github.com/expo/examples/tree/master/with-nextjs\n- Solito framework: https://solito.dev/ (awesome but uses it’s own components/syntax)\n- create-universal-app (CUA): https://github.com/chen-rn/CUA\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomsoderlund%2Freactnative-nextjs-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomsoderlund%2Freactnative-nextjs-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomsoderlund%2Freactnative-nextjs-template/lists"}