{"id":22765186,"url":"https://github.com/vidundergunder/starter","last_synced_at":"2026-04-09T17:08:56.279Z","repository":{"id":61712658,"uuid":"552478992","full_name":"VidunderGunder/starter","owner":"VidunderGunder","description":"A fullstack cross-platform template","archived":false,"fork":false,"pushed_at":"2022-10-23T12:39:38.000Z","size":835,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-05T12:13:16.572Z","etag":null,"topics":["apollo","capacitor","crud","css-prop","graph","ionic","nextjs","prisma","react","storybook","styled-components"],"latest_commit_sha":null,"homepage":"https://raccoon-starter.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VidunderGunder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-16T17:29:24.000Z","updated_at":"2022-10-23T12:51:00.000Z","dependencies_parsed_at":"2023-01-20T13:16:50.768Z","dependency_job_id":null,"html_url":"https://github.com/VidunderGunder/starter","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/VidunderGunder%2Fstarter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidunderGunder%2Fstarter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidunderGunder%2Fstarter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidunderGunder%2Fstarter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VidunderGunder","download_url":"https://codeload.github.com/VidunderGunder/starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246301994,"owners_count":20755514,"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":["apollo","capacitor","crud","css-prop","graph","ionic","nextjs","prisma","react","storybook","styled-components"],"created_at":"2024-12-11T12:12:06.349Z","updated_at":"2025-12-30T20:29:36.622Z","avatar_url":"https://github.com/VidunderGunder.png","language":"TypeScript","readme":"# Starter\n\nA fullstack cross-platform template using:\n\n- [Next.js](https://nextjs.org/)\n- [Prisma](https://www.prisma.io/)\n- [GraphQL (Apollo)](https://www.apollographql.com/)\n- [Capacitor](https://capacitorjs.com/)\n- [Ionic](https://ionicframework.com/) (based on )\n- [Storybook](https://storybook.js.org/)\n\nAutomatic CRUD API, GraphQL API and types generated from Prisma.\n\nIt's like a very opinionated variant of [RedwoodJS](https://redwoodjs.com/).\n\n## 🚀 Quickstart (Web)\n\nInstall [Node.js](https://nodejs.org/en/download/) (between 16.10.0 and 17.0.0)\n\nInstall [Yarn](https://yarnpkg.com/en/docs/install) (v1.22.19 or higher)\n\nInstall dependencies and start development:\n\n```bash\nyarn\nyarn dev\n```\n\n## 📱 iOS and Android\n\nSetup [Capacitor](https://capacitorjs.com/docs/getting-started) for iOS or Android (or both)\nBuild the mobile apps:\n\n```bash\nyarn mobile-build\n```\n\nOpen the iOS app in Xcode:\n\n```bash\nnpx ionic cap run ios -l --external\n```\n\nOpen the Android app in Android Studio:\n\n```bash\nnpx ionic cap run android -l --external\n```\n\n## Docs\n\nBefore the Storybook is ready for deployment, you can view the docs locally by starting development and visiting http://localhost:6006/ (should happen automagically with the script).\n\n\u003e Why aren't all the docs available in the README?\n\nSome of the docs is very interactive and running everything live locally.\n\n## TODOs\n\n- [ ] Automatically adjust URLs to work in development both locally and in cloud environments (e.g. GitHub Codespaces and CodeSandbox Projects)\n- [ ] Support [styled-components](https://styled-components.com/)' `css`-prop when using [SWC](https://swc.rs/) with [StoryBook](https://storybook.js.org/)\n  - The `css`-prop is currently the only thing holding us back from using [SWC with StoryBook](https://nextjs.org/docs/advanced-features/compiler#styled-components)\n  - StoryBook supports the `css`-prop now, but uses Babel instead of SWC:\n    ```js\n    module.exports = {\n      \u003c!-- ... --\u003e\n      babel: {\n        plugins: [[\"babel-plugin-styled-components\", styledConfig]],\n      }\n      \u003c!-- ... --\u003e\n    };\n    ```\n  - Preferably make [Next.js' styled-components support](https://nextjs.org/docs/advanced-features/compiler#styled-components) work with [SWC and StoryBook](https://nextjs.org/docs/advanced-features/compiler#styled-components)\n  - We're using a [Next-addon for StoryBook](https://storybook.js.org/addons/storybook-addon-next/), but it's seemingly not supporting SWC\n  - Why even use SWC?\n    - It's [many times faster than Babel](https://swc.rs/)\n    - [Vercel's reasoning for using SWC for Next.js](https://nextjs.org/docs/advanced-features/compiler#why-swc)\n    - Same behavior between StoryBook and Next.js\n- [ ] Address `yarn dev` warnings\n- [ ] Improve [MDX](https://mdxjs.com/) integration\n  - Get `css`-prop to work\n  - Better type checking\n  - Better IntelliSense\n  - Markdown tooling feature parity for VSCode\n- [ ] More intuitive way of using TypeGraphQL-classes in the client\n  - For example: `SomeExampleModel.prototype` will return `undefined`, even though TypeScript promises a result\n  - A shim-fix has been implemented (see `prisma/browser-shim.ts` and webpack-configs), but it only stops the build from crashing. The user can still try to get data from the server, but the types are wrong.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvidundergunder%2Fstarter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvidundergunder%2Fstarter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvidundergunder%2Fstarter/lists"}