{"id":13559065,"url":"https://github.com/sysgears/create-apollo-app","last_synced_at":"2026-05-16T13:01:25.678Z","repository":{"id":39649691,"uuid":"96981946","full_name":"sysgears/create-apollo-app","owner":"sysgears","description":"Create Apollo App is a command-line tool designed to generate fully-configured starter Apollo GraphQL projects with essential dependencies for developing web, server and mobile applications and zero build configuration.","archived":false,"fork":false,"pushed_at":"2023-01-03T23:29:28.000Z","size":1607,"stargazers_count":120,"open_issues_count":18,"forks_count":12,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-11-23T23:03:47.090Z","etag":null,"topics":["angular","apollo","build","es6","graphql","javascript","less","mobile","react","react-native","sass","spinjs","typescript","vue","web"],"latest_commit_sha":null,"homepage":"https://apolloapp.org","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/sysgears.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}},"created_at":"2017-07-12T08:07:42.000Z","updated_at":"2025-06-10T18:34:18.000Z","dependencies_parsed_at":"2023-02-01T13:31:55.960Z","dependency_job_id":null,"html_url":"https://github.com/sysgears/create-apollo-app","commit_stats":null,"previous_names":["sysgears/jsapp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sysgears/create-apollo-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysgears%2Fcreate-apollo-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysgears%2Fcreate-apollo-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysgears%2Fcreate-apollo-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysgears%2Fcreate-apollo-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sysgears","download_url":"https://codeload.github.com/sysgears/create-apollo-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysgears%2Fcreate-apollo-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33103970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["angular","apollo","build","es6","graphql","javascript","less","mobile","react","react-native","sass","spinjs","typescript","vue","web"],"created_at":"2024-08-01T12:05:19.447Z","updated_at":"2026-05-16T13:01:25.623Z","avatar_url":"https://github.com/sysgears.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","graphql"],"sub_categories":[],"readme":"# Create Apollo App\n\n[![Join the chat at https://gitter.im/sysgears/create-apollo-app](https://badges.gitter.im/sysgears/create-apollo-app.svg)](https://gitter.im/sysgears/create-apollo-app?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![npm version](https://badge.fury.io/js/create-apollo-app.svg)](https://badge.fury.io/js/create-apollo-app)\n[![Twitter Follow](https://img.shields.io/twitter/follow/sysgears.svg?style=social)](https://twitter.com/sysgears)\n\n## Description\n\nCreate Apollo App is a command-line tool that generates a fully configured starter Apollo (GraphQL) project with only\nessential dependencies. With Create Apollo App, you can start developing a client, server, or mobile app, or a\nuniversal application in no time.\n\nThe projects generated with Create Apollo App are built of familiar technologies from the JavaScript ecosystem:\nTypeScript, Webpack, React, Express, and React Native. Depending on the type of the project you want to develop, the\nmentioned technologies are used in different combinations to provide particular setups for server, client, or mobile\ndevelopment.\n\nCreate Apollo App relieves you from the pain of installing and configuring an Apollo project while making it easy to\nchange project configurations if necessary.\n\n## Generating a Project with Create Apollo App\n\n### Prerequisites\n\nInstall the following dependencies:\n\n* Node.js 6.x or higher (Node.js 8.x is recommended)\n* NPM or Yarn to manage JavaScript packages and run scripts\n\nBesides the dependencies for Node.js, you may also need to install and set up additional tools for mobile development:\n\n* iOS Simulator or Android emulation software\n* [Xcode](https://developer.apple.com/xcode/) (optional; an IDE for iOS development)\n* [Android Studio](https://developer.android.com/studio/) (optional; an IDE for Android development)\n\nInstalling [Expo Client](https://expo.io/tools#client) is also optional. If you set up iOS Simulator or a similar tool,\nCreate Apollo App will automatically download Expo Client if it's not installed.\n\n### Generating a Project\n\nStart a new project with Create Apollo App using the following command (the default NPM utility is used):\n\n```bash\nnpx create-apollo-app new-apollo-app\n```\n\nIf you’re using Yarn, run:\n\n```bash\nyarn create apollo-app my-app\n```\n\n\u003e `yarn create` will automatically prefix `apollo-app` with `create-`. For more information, you can consult this [blog\npost on Yarn](https://yarnpkg.com/blog/2017/05/12/introducing-yarn/).\n\nFrom this point onward, we'll use Yarn in our examples for running the project.\n\nDuring installation, the terminal will prompt the following six options:\n\n```\n❯ @server-web: TypeScript, Apollo (GraphQL), Express server, React for web\n  @server-mobile: TypeScript, Apollo (GraphQL), Express server, React Native for mobile\n  @universal: TypeScript, Apollo (GraphQL), Express server, React for web, React Native for mobile\n  @server: TypeScript, Apollo (GraphQL), Express server\n  @web: TypeScript, Apollo (GraphQL), React web app\n  @mobile: TypeScript, Apollo (GraphQL), React Native for mobile\n```\n\nYou can select the necessary project template using the arrow keys on your keyboard. Alternatively, you can start typing\nthe name of the template to filter the list.\n\nYou can also specify the name of the template by attaching the `@name_of_the_template` after the project name, for\nexample:\n\n```bash\nyarn create apollo-app my-app@web\n```\n\nIf you run the command above, Create Apollo App will create a `my-app/` project directory with the `@web` template meaning\nthe client-side Apollo app. Similarly, add `@server-web`, `@universal`, or other template name instead of `@web` to \nchoose a particular template.\n\n\u003e Consult [the Apollo Project Templates section](#apollo-project-templates) to know what templates are currently\navailable.\n\nSelect the first (default) option `@server-web` from the list and press Enter. Create Apollo App will generate a\nclient-server application.\n\nNote that it may take a while (usually up to a minute) for all dependencies to be installed and for the project to be\nconfigured. The terminal will confirm when the project is ready.\n\n#### Running the Project in Development Mode\n\nOnce the installation is complete, run:\n\n```bash\ncd my-app\nyarn start\n```\n\nA development build will be generated. You can start changing the source code in the project files located in the\n`packages/server/src/` and `packages/web/src/` directories.\n\n**NOTE**: If you want to add CSS, SCSS, Sass, or Less to the frontend React application, you need to add the PostCSS \nconfiguration file `postcss.config.js` under the `{app-root}/src` for the `@web` template or the \n`{app-root}/packages/web/src` folder for the `@server-web` and `@universal` templates. \n\nThe PostCSS configuration file can be empty, like this: \n\n```js\nmodule.exports = {};\n````\n\nThe client-side application will be automatically opened in your default browser at [http://localhost:3000](http://localhost:3000).\nThe server-side GraphQL application runs on [http://localhost:8080](http://localhost:8080).\n\nIf you installed a template for mobile development, the React Native app will be opened at [http://localhost:3020](http://localhost:3020)\nfor iOS and at [http://localhost:3010](http://localhost:3010) for Android.  \n\n#### Generating the Production-Ready Code\n\nIf you want to build a production version of the app (i.e., the code will be minified), run:\n\n```bash\nyarn build\n```\n\nThe production-ready code will be saved to `packages/server/build/` and `packages/web/build/` directories for\nserver-side and client-side code respectively.\n\n### Apollo Project Templates\n\nCreate Apollo App provides you with the default configurations for different kinds of projects. For example, if you need\nto build only a client-side application, you can select a respective template \u0026ndash; `@web` \u0026ndash; during installation.\n\nOverall, you can choose one of the six templates:\n\n* `@web` for a client-side application.\n* `@server` for a server-side application.\n* `@mobile` for a mobile application.\n* `@server-web` \u0026ndash; (default) a complete solution for building a client-server app.\n* `@server-mobile` \u0026ndash; a complete solution for building a server-side app and mobile front end.\n* `@universal` \u0026ndash; the most comprehensive solution for building an app for the client, server, and mobile.\n\n### Project Structure\n\nWe'll review the structure of the `@universal` project, meaning it will have the `client/`, `server/`, and `mobile/`\npackages under the `packages/` directory. The `@server-web` template that you installed comes without the mobile package.\n\nHere's an overview of the `@universal` project structure:\n\n```\nmy-apollo-app\n├── node_modules/\n├── packages/\n    ├── mobile\n        ├── node_modules/\n        ├── src/\n            ├── App.tsx\n            ├── AwakeInDevApp.js\n            └── index.ts\n        ├── typings/\n        ├── app.json\n        ├── package.json\n        ├── tsconfig.json\n        └── tslint.json        \n    ├── server/\n        ├── node_modules/\n        ├── src/\n            ├── index.ts\n            ├── resolvers.ts\n            ├── schema.graphql\n            ├── schema.ts\n            └── server.ts\n        ├── typings/\n        ├── package.json\n        ├── tsconfig.json\n        └── tslint.json\n    └── web/\n        ├── src/\n            ├── App.tsx\n            └── index.tsx\n        ├── typings/\n        ├── package.json\n        ├── tsconfig.json\n        └── tslint.json\n├── .gitignore\n├── package.json\n├── tsconfig.json\n├── tslint.json\n└── yarn.lock\n```\n\nYou'll work with the files located in `packages/mobile/src/`, `packages/server/src`, and `packages/web/src/` when working\non your Apollo project. In those directories, you can view the default project files, which you may freely change or\ndelete.\n\n## License\n\nCopyright © 2018 [SysGears Limited]. This source code is licensed under the [MIT] license.\n\n[MIT]: LICENSE\n[SysGears Limited]: http://sysgears.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsysgears%2Fcreate-apollo-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsysgears%2Fcreate-apollo-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsysgears%2Fcreate-apollo-app/lists"}