{"id":20810247,"url":"https://github.com/sencha/sandbox-extjs-travis-aws","last_synced_at":"2026-05-08T15:36:12.072Z","repository":{"id":73713608,"uuid":"254445235","full_name":"sencha/sandbox-extjs-travis-aws","owner":"sencha","description":"Simple Ext JS Web Application EB Config","archived":false,"fork":false,"pushed_at":"2020-04-13T15:32:24.000Z","size":192,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-12T04:29:58.934Z","etag":null,"topics":["express","extjs","nodejs","sencha-travis","travisci"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/sencha.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-09T18:11:17.000Z","updated_at":"2020-05-14T10:37:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"5e2b42ec-cabf-41bc-959e-53b97cc7e47c","html_url":"https://github.com/sencha/sandbox-extjs-travis-aws","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sencha/sandbox-extjs-travis-aws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sencha%2Fsandbox-extjs-travis-aws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sencha%2Fsandbox-extjs-travis-aws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sencha%2Fsandbox-extjs-travis-aws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sencha%2Fsandbox-extjs-travis-aws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sencha","download_url":"https://codeload.github.com/sencha/sandbox-extjs-travis-aws/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sencha%2Fsandbox-extjs-travis-aws/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263478557,"owners_count":23473023,"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":["express","extjs","nodejs","sencha-travis","travisci"],"created_at":"2024-11-17T20:22:26.579Z","updated_at":"2026-05-08T15:36:07.036Z","avatar_url":"https://github.com/sencha.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deploying your Ext JS Application to Elastic Beanstalk\nThis example covers deploying your Ext JS application to Elastic Beanstalk.\n\n[![Build Status](https://travis-ci.com/sencha/sandbox-extjs-travis-aws.svg?token=KdcJCzakCyZqGAcQgvVY\u0026branch=master)](https://travis-ci.com/sencha/sandbox-extjs-travis-aws)\n\nThis configuration includes:\n- npm \u0026 node.js\n- webpack \n- travis CI \n- AWS Elastic Beanstalk\n- Ext JS\n\nThis architecture configuration includes:\n- ./client - Ext JS app source - http://localhost:1962 (Endpoint for debugging only)\n- ./server - Server app source - http://localhost:3000\n\nThis Elastic Beanstalk configuration includes:\n- Multi-Docker container config - http://localhost:3000\n\nThis Client application includes:\n- Visual Studio Code launchers for client, server \u0026 Chrome\n- Client launcher - webpack dev server - http://localhost:1962 - with a proxy to server\n- Server launcher - express server - http://localhost:3000\n- Client debugging proxy - http://localhost:1962/api to http://localhost:3000/api\n\n## VCS Configuration\nConfigure a VCS to store your code. \n\nOnce the project is configured it will be your project root. \nChange to the root of your project.\n```\ncd ~/git/sandbox-extjs-travis-aws\n```\n\n\n## Create an Ext JS Application\nCreate an Ext JS npm Ext JS application project.\n\n### Sign in to npm Repo\n\n```\nnpm login --registry=https://npm.sencha.com --scope=@sencha\n```\n\n### Install the Application Generator\n\n```\nnpm install -g @sencha/ext-gen\n```\n\n### Generate an Application\n\n```\next-gen app -a -t moderndesktop -n ModernApp\n```\n\n###  Open the Application\nTest out the project. \n\n```\ncd ./modern-app\n```\n\n```\nnpm start\n```\n\n### Prep Client/Server Config\n\nRename `./modern-app` to `client`.\n```\nmv modern-app client\n```\n\n## Configure Elastic Beanstak App \u0026 Enviornment\n\n### Configure AWS \u0026 EB CLI\nInstall and configure the AWS and EB CLI.\n\n* [Install AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)\n* [Install EB CLI](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3.html)\n* [Configure AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)\n\nAt the root of the project run this. In this config, don't run it in the app folder. \n```\naws configure\n```\n\n### Create Elastic Beanstalk Application\nSet up the Elastic Beanstalk application.\n\n```\neb init\n```\n\n* Choose the datacenter that makes sense to you\n* Choose `Create New Application`\n* Choose `Multi-container Docker` and the latest version.\n* Do not choose CodeCommit.\n* Choose setup SSH, if you want to use SSH.\n\nThis will create the file [./.elasticbeanstalk/config.yml](./.elasticbeanstalk/config.yml).\n\n### Create Elastic Beanstalk Environment.\nSet up an Elastic environment for your application. \n\n```\neb create sandbox-staging\n```\n\n## Docker Config\nThe `Dockerrun.aws.json` will configure the docker container when deployed. \n\n### Debugging the Docker Config\nRun the Elastic Beanstalk locally. With one caveat, web contents are not copied to the server folder, until deployment.\n\n* Run `eb local run`\n* Open http://0.0.0.0:3000\n\n\n## Configure Client / Server Application\n\n### Configure package.json\nAdd express and change how the server is started. \n\n* Copy the [./package.json](./package.json) to your project. \n* This project contains express. \n* This project contains a start script to start web express serving. \n\n### Configure TravisCI\n\n* Copy the [.travis.yml](./travis.yml) to your project. \n\n#### Enctype TravisCI Variables\nEncrypt secure variables.\n\n* Run `gem install travis`\n* Run `travis login --pro --github-token replace_with_github_personal_token`\n* Run `cd to/the/repo`\n* Run `travis encrypt replace_with_your_key_id`\n* Run `travis encrypt replace_with_your_access_key`\n* Add the secure (secure: \"xxx=\") variables to your travis deploy config.\n\n\n### Debug Proxy Config\nIn order to use the web pack dev server and server together, you'll need to set up a proxy in the web pack dev server. \nThis allows you to run the web pack dev server with all the magic with a separate server instance.\n\nAdd this proxy to your webpack `devServer` configuration. \n```\n// http://localhost:1962/api\nproxy: {\n  \"/api\": \"http://localhost:3000\"\n}\n```\n\nFor `devServer` example:\n```\ndevServer: {\n  watchOptions: {\n    ignored: ignoreFolders\n  },\n  contentBase: [path.resolve(__dirname, outputFolder)],\n  watchContentBase: !isProd,\n  liveReload: !isProd,\n  historyApiFallback: !isProd,\n  host: host,\n  port: port,\n  disableHostCheck: isProd,\n  compress: isProd,\n  inline: !isProd,\n  stats: stats,\n\n  // http://localhost:1962/api\n  proxy: {\n    \"/api\": \"http://localhost:3000\"\n  }\n}\n```\n\n\n## Debugging\nDebug using launchers in Visual Studio Code. Start the Server, Client and Chrome launcher to debug locally. \n\n1. Start the `Server` launcher. http://localhost:3000/api\n2. Start the `Client` launcher. http://localhost:1962/\n3. Start the `Chrome` launcher. This opens chrome and connects it to Visual Studio Code.\n\n- The Client launcher launches web pack dev server which watches for changes. On a change it builds. \n- The Client launcher has a proxy from http://localhost:1962/api to http://localhost:3000/api.\n\nSee the launchers here [./.vscode/launch.json](./.vscode/launch.json).\n\n\n## Deploy\n`.travis.yml` is set up to deploy to Elastic Beanstalk.\n\n* Change the username and password in [./.travis.yml](./.travis.yml).\n\n\n## AWS Endpoint\nThe application deploys to http://sandbox-staging.eba-te2gi7ki.us-east-1.elasticbeanstalk.com/.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsencha%2Fsandbox-extjs-travis-aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsencha%2Fsandbox-extjs-travis-aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsencha%2Fsandbox-extjs-travis-aws/lists"}