https://github.com/forge/angularjs-addon
JBoss Forge AngularJS Scaffold Addon
https://github.com/forge/angularjs-addon
Last synced: 7 months ago
JSON representation
JBoss Forge AngularJS Scaffold Addon
- Host: GitHub
- URL: https://github.com/forge/angularjs-addon
- Owner: forge
- License: epl-1.0
- Created: 2014-03-12T13:43:35.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2016-08-09T15:32:03.000Z (over 9 years ago)
- Last Synced: 2025-07-09T11:35:34.086Z (8 months ago)
- Language: Java
- Homepage:
- Size: 1.02 MB
- Stars: 19
- Watchers: 12
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.asciidoc
- License: LICENSE
Awesome Lists containing this project
README
== AngularJS Addon for JBoss Forge 2
:idprefix: id_
image:https://travis-ci.org/forge/angularjs-addon.svg?branch=master["Build Status", link="https://travis-ci.org/forge/angularjs-addon"]
The angularjs-addon enables developers to automate several tasks in the construction of applications that use AngularJS, in JBoss Forge.
This addon provides *standalone* functionality, and it can be re-used in other addons.
=== Dependencies:
=== Depends on
[options="header"]
|===
|Addon |Exported |Optional
|scaffold-spi
|no
|no
|javaee
|no
|no
|templates
|no
|no
|text
|no
|no
|convert
|no
|no
|parser-java
|no
|no
|cdi
|no
|no
|===
== Setup
This Addon requires the following installation steps.
=== Add configuration to pom.xml
To use this addon, you must add it as a dependency in the *pom.xml* of your `forge-addon` classified artifact:
(Make sure the dependency is put all the way to the left, and uses 3 spaces for indentation of GAV)
[source,xml]
----
org.jboss.forge.addon
angularjs
forge-addon
${version}
----
== Features
* Scaffold web-apps from JPA entities. The generated scaffold uses a thick-client based on AngularJS, and a JAX-RS RESTful backend.
== Usage
=== Prerequsites
JBoss Tools with Forge 2.4.1, or JBoss Forge-CLI 2.4.1.
=== Install the addon:
Assuming JBoss Tools with Forge, or Forge-CLI is installed:
*(JBT)*
Ctrl+5. Run the "Install the addon from Git" command, using these coordinates: https://github.com/forge/angularjs-addon.git
*(Forge-CLI)*
----
$ addon-install-from-git --url https://github.com/forge/angularjs-addon.git
----
=== Create a new project
*(JBT)*
Ctrl+5. Run the "Project: New" command. Create a new web application, named 'hello-angular'.
*(Forge-CLI)*
----
$ project-new --named hello-angular
----
=== Setup JPA
*(JBT)*
Ctrl+5. Run the "JPA: Setup" command. Defaults should be sufficient.
*(Forge-CLI)*
----
$ jpa-setup
----
=== Create a few JPA entities with fields
*(JBT)*
Ctrl+5. Run the "JPA: New Entity" command. Create a new entity (with an auto-generated Id) named 'Customer'.
Select the newly created Customer Java source file in the navigator. Ctrl+5. Run the "JPA: New Field" command. Create a new field of type String in the Customer entity named 'fullName'.
Ctrl+5 again and re-run the same command. Create a new field of type int in the Customer entity named 'age'.
*(Forge-CLI)*
----
$ jpa-new-entity --named Customer
$ jpa-new-field --named fullName
$ jpa-new-field --named age --type int
----
=== Setup Bean Validation and create new constraints
*(JBT)*
Ctrl+5. Run the "Constraint: Setup" command. Choose the "Generic Java EE" BV provider to use.
Ctrl+5. Run the "Constraint: Add" command. Create a NotNull constraint on the fullName field.
Ctrl+5. Run the "Constraint: Add" command. Create a Min constraint on the age field, with min value of 0.
*(Forge-CLI)*
----
$ constraint-setup --providers Generic\ Java\ EE
$ constraint-add --onProperty fullName --constraint NotNull
$ constraint-add --onProperty age --constraint Min --value 0
----
=== Setup and generate the AngularJS scaffold
*(JBT)*
Ctrl+5. Run the "Scaffold: Setup" command. Choose the "AngularJS" type to use.
Ctrl+5. Run the "Scaffold: Generate" command. Choose the "AngularJS" type to use. Select the Customer entity to scaffold. (I'll rework this bit across scaffold providers when fixing FORGE-1501 and FORGE-1731).
On completion, a JAX-RS resource that can handle requests and responses of media type application/json should be created, in conjunction with the AngularJS views.
*(Forge-CLI)*
----
$ scaffold-setup --provider AngularJS
$ scaffold-generate --provider AngularJS --targets org.hello.angular.model.Customer
----
This app can now be deployed to JBoss EAP.
== Issue Tracker
We do not use GitHub issues for issue tracking.
Please raise issues in the https://issues.jboss.org//secure/CreateIssueDetails!init.jspa?pid=12312020&components=12317568&issuetype=1&priority=3[JBoss JIRA Issue tracker]. The project and component is *FORGEPLUGINS* and *AngularJS Scaffold* respectively. We also track feature requests in the same space.