{"id":20949260,"url":"https://github.com/openforge/ionic-phaser-game-template","last_synced_at":"2025-10-09T01:40:07.748Z","repository":{"id":37810563,"uuid":"455921798","full_name":"openforge/ionic-phaser-game-template","owner":"openforge","description":"A template application for setting up a mobile app video game with IONIC, PHASER, ANGULAR and a Monorepo strategy","archived":false,"fork":false,"pushed_at":"2025-09-19T13:45:32.000Z","size":6565,"stargazers_count":111,"open_issues_count":7,"forks_count":15,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-09-19T15:44:26.669Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/openforge.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,"zenodo":null}},"created_at":"2022-02-05T16:25:07.000Z","updated_at":"2025-09-19T13:45:38.000Z","dependencies_parsed_at":"2023-02-08T01:46:55.491Z","dependency_job_id":"b94091fb-856b-43a8-973d-4f19f9eb54b1","html_url":"https://github.com/openforge/ionic-phaser-game-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":"openforge/ionic-monorepo-template","purl":"pkg:github/openforge/ionic-phaser-game-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openforge%2Fionic-phaser-game-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openforge%2Fionic-phaser-game-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openforge%2Fionic-phaser-game-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openforge%2Fionic-phaser-game-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openforge","download_url":"https://codeload.github.com/openforge/ionic-phaser-game-template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openforge%2Fionic-phaser-game-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000716,"owners_count":26082895,"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-10-08T02:00:06.501Z","response_time":56,"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-19T00:34:38.754Z","updated_at":"2025-10-09T01:40:07.743Z","avatar_url":"https://github.com/openforge.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://s3.amazonaws.com/tw-inlineimages/467579/0/0/ff47c124a5732bf549b43532a7ac19e1.png\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"http://www.openforge.io/\"\u003eOfficial Website\u003c/a\u003e |\n  \u003ca href=\"http://www.openforge.io/opportunities\"\u003eOpportunities\u003c/a\u003e |\n  \u003ca href=\"https://openforge.io/mobile-academy/\"\u003eMobile Academy\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003e\n  Leading By Example.\n\u003c/h3\u003e\n\n# Mobile Game Template - Ionic \u0026 Phaser Monorepo\n\nThis is a template project for all you aspiring video game developers out there! Want to use your web application skills for creating an awesome video game?\n\nThis repository will give you a great starting point!\n\n# Instructions\n\n1. Clone the repository using 'Use template' (and don't forget to give us a Star / Follow on Github, please!)\n2. Select which framework from 'apps/' folder you are going to use and remove the others if necessary.\n3. Search + Replace all instances of 'example-app-\"frameworkName\"-e2e' with your app name (important to do this first)\n4. Search + Replace all instances of 'example-app-\"frameworkName\"' with your app name\n5. Change the folder names for example-app-frameworkName and example-app-frameworkName-e2e to what you named for steps #1 and #2\n6. Search + Replace all instances of 'openforge-ionic-monorepo-example' with your project name\n7. Search + Replace 'company-name' with your company name. This is the NX project scope that allows you to import libraries using @company-name\n\nThat's it for the renaming! Now to test...\n\n`npm install`\n\n`npx nx run example-app-angular:serve` (where example-app-angular is the name you replaced with above)\n\nYou should now load your example app!\n\n# Checking Licenses\n\nTo run the license checker, use\n`npx license-checker --summary` or vanilla `npx license-checker`\n\n# Important - Utilizing this Repo\n\nMost of the commands to generate projects/capabilities/apps are default to NX, Ionic, or Angular (in that order), so we will NOT include their specific instructions since as the packages update so will the documentation.\n\nWith that said, there are some special things to keep in mind...\n\n## Generating a Project - Additional Step\n\nAfter any project is created by NX, we MUST add StyleLint\n\nnx g nx-stylelint:configuration --project \u003cprojectName\u003e\n\n## Generate an application\n\nThe normal NX command to generate an app is `nx g @nx/react:app my-app` ; however, there are some special steps to generate an Ionic App. These are defined well in [Eric Jeker's post here](https://medium.com/@eric.jeker/how-to-integrate-ionic-in-nrwl-nx-3493fcb7e85e)\n\nWhen using Nx, you can create multiple applications and libraries in the same workspace.\n\n## Generate a VUE application\n\nSince Nx doesn't _officially_ support Vue, we configured this project to make it work for you 😎\n\nNx supports Vite [Visit Nx Official docs for Vite](https://nx.dev/packages/vite) to learn more, and Vite supports Vue, so we used this configs to run Vue into our monorepos!\n\n1. Run `npm create vite@latest my-vue-app -- --template vue`.\n2. Run `cd my-vue-app \u0026\u0026 npm install`.\n3. Go to `apps/my-vue-app` and create a new `project.json`.\n4. Copy the `properties` from the `project.json` file from `apps/example-vue-app` and paste it inside the new `project.json` file generated for the new Vue application in the step 3.\n5. Inside the new `project.json` file generated, replace all `example-app-vue` instances with the name of your Vue app created in step 1.\n6. Now you just need to `extends` the `tsconfig.json` root file in your `tsconfig.json` Vue application file by adding `\"extends\": \"../../tsconfig.json\"` at the top of the array.\n\nAnd that's it! You will be able to run and serve your Vue application by running `nx serve your-app-name` (where your-app-name is the name of the application you created).\n\n## Adding Capacitor to your application\n\nWe are using Capacitor to run the project in mobile. We configured Capacitor to be able to run in monorepos, so if you want to add capacitor into your application follow this steps:\n\n1. Make sure you have run `nx build your-app-name` (Where `your-app-name` will be the name of your application).\n2. Make sure your application has the `package.json` created, if not create one at the root of you application folder `apps/your-application-folder` and add the folowing properties: `\"name\": your-app-name`, `\"version\": \"0.0.0\"`, `\"licence: \"MIT\"\"`, `\"private: true\"`, `\"dependencies: {}\"`, `\"devDependencies\": {}` (where `your-app-name` will be replaced with your currently application name).\n3. Go to `apps/your-app-name` and run `npm install @capacitor/cli --save-dev`, then run `npm install @capacitor/core`.\n4. Nowe it's time to initialize Capacitor. Go to `apps/your-app-name` and run `npx cap init`.\n5. In the project root folder, search for the `ionic.config.json` file and add `your-app-name` as a new project in the `projects` array. You can copy\u0026paste the example one and just replace all instances.\n\n## Adding a Capacitor Platform to your application\n\n1. At the root of your project, run `ionic capacitor add platform --project=your-app-name` (Where `platform` could be `ios` | `android`) (Where `your-project-name` will be the project name you set into the `ionic.config.json` file).\n\n## Running your application with Capacitor\n\n1. Run `nx build your-app-name` (Where `your-app-name` will be the name of your application).\n2. Run `cd apps/your-app-name \u0026\u0026 npx cap copy`.\n3. Run `cd apps/your-app-name \u0026\u0026 npx cap sync`.\n4. Run `cd apps/your-app-name \u0026\u0026 npx cap open platform`. (Where `platform` could be `ios` | `android`)\n\n# NX Original Instructions\n\n## Further help\n\nVisit the [Nx Documentation](https://nx.dev) to learn more.\n\n## Generate a library\n\nRun `nx g @nx/react:lib my-lib` to generate a library.\n\n\u003e You can also use any of the plugins above to generate libraries as well.\n\nLibraries are shareable across libraries and applications. They can be imported from `@openforge-ionic-monorepo-example/mylib`.\n\n## Development server\n\nRun `npx nx run example-app-angular:serve` for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.\n\n## Code scaffolding\n\nRun `nx g @nx/react:component my-component --project=my-app` to generate a new component.\n\n## Build\n\nRun `nx build my-app` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.\n\n## Running unit tests\n\nRun `nx test my-app` to execute the unit tests via [Jest](https://jestjs.io).\n\nRun `nx affected:test` to execute the unit tests affected by a change.\n\n## Running end-to-end tests\n\nRun `ng e2e my-app` to execute the end-to-end tests via [Cypress](https://www.cypress.io).\n\nRun `nx affected:e2e` to execute the end-to-end tests affected by a change.\n\n## Understand your workspace\n\nRun `nx dep-graph` to see a diagram of the dependencies of your projects.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenforge%2Fionic-phaser-game-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenforge%2Fionic-phaser-game-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenforge%2Fionic-phaser-game-template/lists"}