{"id":20884993,"url":"https://github.com/windup/windup-web","last_synced_at":"2025-05-08T01:16:53.736Z","repository":{"id":28059113,"uuid":"31555668","full_name":"windup/windup-web","owner":"windup","description":"Windup as a Web Service","archived":false,"fork":false,"pushed_at":"2024-08-07T10:35:41.000Z","size":72845,"stargazers_count":7,"open_issues_count":27,"forks_count":27,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-05-08T01:16:43.433Z","etag":null,"topics":["jboss-eap","migration","redhat","windup"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/windup.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}},"created_at":"2015-03-02T18:26:53.000Z","updated_at":"2025-03-05T23:35:17.000Z","dependencies_parsed_at":"2022-07-15T21:17:16.587Z","dependency_job_id":"cb375691-5a96-4eb2-a63e-7c17978eb4eb","html_url":"https://github.com/windup/windup-web","commit_stats":{"total_commits":1626,"total_committers":58,"mean_commits":28.03448275862069,"dds":0.7662976629766298,"last_synced_commit":"99b13ee58922cfd3adfe0fe86ae7f2ec16fc4b41"},"previous_names":[],"tags_count":81,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/windup%2Fwindup-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/windup%2Fwindup-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/windup%2Fwindup-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/windup%2Fwindup-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/windup","download_url":"https://codeload.github.com/windup/windup-web/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252978811,"owners_count":21834920,"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":["jboss-eap","migration","redhat","windup"],"created_at":"2024-11-18T08:12:09.775Z","updated_at":"2025-05-08T01:16:53.714Z","avatar_url":"https://github.com/windup.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Trying out MTA Web Console\n=====================\n\nIf you just want to run MTA Web Console, not build or modify it, the simplest way is to use the docker image at https://hub.docker.com/r/windup3/windup-web_nightly/.\n\nIf you want to build MTA Web Console yourself and run it without setting up a WildFly server and Keycloak, you can build [windup-web-distribution](https://github.com/windup/windup-web-distribution) after building windup-web to create a self-contained distribution.\n\n\nSetting up the development environment\n======================================\n\nRequirements\n-------------\n\n1. JDK 8\n2. Maven 3.8.8 (provided by Maven Wrapper)\n\nEnvironment setup\n-----------------\n1. Set your local Maven `setting.xml` by copying file `settings.xml` from checked out sources into `$HOME/.m2/` or use it directly while calling maven with option `-s settings.xml`\n\n2. [Install NodeJS Package Manager (npm)](https://nodejs.org/en/download/package-manager/)\n   * _Debian/Ubuntu_: `sudo apt-get install npm`\n   * _RHEL 7_: 1) Install [EPEL](https://fedoraproject.org/wiki/EPEL/FAQ#How_can_I_install_the_packages_from_the_EPEL_software_repository.3F)  2) `sudo yum install npm`\n   * _Fedora_: `sudo dnf install npm`\n\n   \u003e NOTE: If npm is version is less than 3.8.8, try the following to force an update:\n   \u003e\n   \u003e        sudo npm install -g npm\n\n3. [Install yarn package manager](https://yarnpkg.com/en/)\n\n   \u003e Note: Check that your installed version of yarn is at least v0.22.0 (yarn --version)\n\n4. [Install Bower using NPM](http://bower.io/#install-bower)\n    * `sudo npm install -g bower`\n    * If you run into problems with permissions (typically **EACCES** error), use [this guide](https://docs.npmjs.com/getting-started/fixing-npm-permissions)\n      to fix it.\n    * `npm install` command should be replaceable with `yarn add`.\n    * For global packages, use \n        `sudo yarn global add`. Yarn should be faster, but if there is any problem with it, use NPM.\n         [Here](https://shift.infinite.red/npm-vs-yarn-cheat-sheet-8755b092e5cc#.pshfjyfo0) is nice comparison of npm and yarn commands.\n\n5. Get current version of phantomjs\n    \n    \u003e \n    \u003e if phantomjs is not installed yet, run \n    \u003e    \n    \u003e       sudo npm install -g phantomjs-prebuilt\n    \u003e\n    \u003e Or\n    \u003e \n    \u003e       sudo npm install -g phantomjs-prebuilt --unsafe-perm\n    \n    \u003e \n    \u003e else run\n    \u003e\n    \u003e       sudo npm update -g phantomjs-prebuilt\n\n6. For development purpose and regular redeployment, raise the Metaspace limit.\n    In `wildfly-10.1.0.Final/bin/standalone.conf`, change the `MaxMetaspaceSize` value to 2048:\n\n    ```\n    JAVA_OPTS=\"-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=2048m -Djava.net.preferIPv4Stack=true\"\n    ```\n\n\nBuilding the Windup project\n---------------------------\n\nTo build Windup, you need to clone and build several git repositories:\n\nIf you want to contribute to Windup development,\nhere is a script which clones the repositories, adds the upstream and sets up the remote tracking branches.\nFirst, you'll need to _fork_ all the repositories to your user account.\nThen, change your GitHub.com user name in the script below.\n\n```\nGITHUB_USER=\"OndraZizka\"\nBASEDIR=$(pwd)\nfor i in \\\nwindup \\\nwindup-rulesets \\\nwindup-quickstarts \\\nwindup-distribution \\\nmaven-indexer \\\nwindup-maven-plugin \\\n; do \n    cd $BASEDIR\n    git clone git@github.com:$GITHUB_USER/$i.git\n    cd $i\n    git remote add upstream https://github.com/windup/$i.git\n    git fetch upstream\n    git branch --set-upstream-to=upstream/master\n    git pull\n    ./mvnw clean install -DskipTests\ndone\ncd $BASEDIR\n\n# Install NodeJS 6+\ncurl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -\nsudo apt-get install -y nodejs\n# Install NPM\nsudo apt-get install npm\nsudo npm install -g npm\n\n#sudo apt install yarn\nsudo npm install -g yarn\nsudo npm install -g bower\nsudo npm install -g phantomjs-prebuilt\n## Then fix NPM permissions, basically by downloading and installing it just for one user…\n## https://docs.npmjs.com/getting-started/fixing-npm-permissions\n\nBASEDIR=$(pwd)\nfor i in \\\nwindup-keycloak-tool \\\nwindup-web \\\nwindup-web-distribution \\\n; do \n    cd $BASEDIR\n    git clone git@github.com:$GITHUB_USER/$i.git\n    cd $i\n    git remote add upstream https://github.com/windup/$i.git\n    git fetch upstream\n    git branch --set-upstream-to=upstream/master\n    git pull\n    ./mvnw clean install -DskipTests\ndone\ncd $BASEDIR\n```\n\n\nRunning the webapp\n------------------\n\n- Build: `./mvnw clean install -DskipTests`\n- Wildfly/EAP 7 must be run with `-c standalone-full.xml` as Messaging subsystem is required.\n- Execute the CLI script at: scripts/eap-setup.cli on Wildfly/EAP 7\n\n    `bin/jboss-cli.sh -c --file=scripts/eap-setup.cli`\n\n- Deploy the exploded `services/target/mta-web/api` and `ui/target/mta-web` to EAP 7.\n\n    There are 3 possible ways how to do it.\n\n    - Manual copying:\n\n        ```\n        cp -r services/target/mta-web/api ~/apps/wildfly-10.1.0.Final/standalone/deployments/mta-web/api.war;\n        touch ~/apps/wildfly-10.1.0.Final/standalone/deployments/rmaht-web/api.war.dodeploy;\n        cp -r ui/target/mta-web ~/apps/wildfly-10.1.0.Final/standalone/deployments/mta-web.war;\n        touch ~/apps/wildfly-10.1.0.Final/standalone/deployments/mta-web.war.dodeploy;\n        ```\n\n        or\n\n    - JBoss CLI deployment, deploy the `target` directory directly - see [WildFly docs](https://docs.jboss.org/author/display/WFLY10/Application+deployment#Applicationdeployment-UnmanagedDeployments):\n\n        ```\n        deploy services/target/mta-web/api --unmanaged;\n        deploy ui/target/mta-web --unmanaged;\n        ```\n\n        or\n\n    - Editing profile configuration and adding the following block to `standalone-full.xml` under `\u003cserver\u003e`, at the end of the file:\n\n        ```xml\n        \u003cdeployments\u003e\n            \u003cdeployment name=\"mta-web/api\" runtime-name=\"api.war\"\u003e\n                \u003cfs-exploded path=\".../windup-web/services/target/mta-web/api\"/\u003e\n            \u003c/deployment\u003e\n            \u003cdeployment name=\"mta-web\" runtime-name=\"mta-web.war\"\u003e\n                \u003cfs-exploded path=\".../windup-web/ui/target/mta-web\"/\u003e\n            \u003c/deployment\u003e\n        \u003c/deployments\u003e\n        ```\n    \u003e Note: Replace ... with real absolute path on your local environment.\n\n- Follow the steps for deploying keycloak in [Keycloak Setup](./KEYCLOAK-SETUP.md)\n- Access the webapp: \u003chttp://localhost:8080/mta-web\u003e\n\nDeploy your changes while coding\n------------------\n- Follow the previous step (use the 3rd way of running the webapp: edit `standalone-full.xml`) \n- Install webpack: `sudo npm install --global webpack@3.4.1`. You can also install webpack-cli instead of webpack: `sudo npm install --global webpack-cli@3.3.10`\n- Move to webapp folder: `cd windup-web/ui/src/main/webapp`\n- Execute `webpack -w` or `webpack-cli -w`\n\nAdding Swagging Core\n------------------\n[Swagger Core](https://github.com/swagger-api/swagger-core) is an open source Java implementation of Swagger/OpenAPI.  \nIt resolves JAX-RS annotated resources and Java annotated POJOs into OpenAPI schemas, handles serialization/deserialization and provides an integration mechanism.\n\nTo get the OpenAPI specifications file, you can compile this project enabling the `swagger` profile:\n\n- from `windup-web/services` folder execute the command `../mvnw clean compile -Pswagger`\n- in `windup-web/services/target/swagger` folder you'll find `openapi.json` and `openapi.yaml` files with the OpenAPI specifications\n\nIf you want to create a MTA Web application that provides the `openapi.json` and `openapi.yaml` files at runtime:\n\n- build this project enabling the `swagger` profile, executing -from `windup-web` folder- the `../mvnw -DskipTests clean install -Pswagger` command  \n- the files will be available at \u003chttp://localhost:8080/mta-web/api/openapi.json\u003e and \u003chttp://localhost:8080/mta-web/api/openapi.yaml\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwindup%2Fwindup-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwindup%2Fwindup-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwindup%2Fwindup-web/lists"}