Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/doches/generator-dropwizard-angular-gradle
Yeoman generator that scaffolds out an API served by Java 8 + Dropwizard and a front-end application built using Typescript + Angular
https://github.com/doches/generator-dropwizard-angular-gradle
angular dropwizard scaffold yeoman yeoman-generator
Last synced: 18 days ago
JSON representation
Yeoman generator that scaffolds out an API served by Java 8 + Dropwizard and a front-end application built using Typescript + Angular
- Host: GitHub
- URL: https://github.com/doches/generator-dropwizard-angular-gradle
- Owner: doches
- Created: 2016-06-30T07:45:46.000Z (over 8 years ago)
- Default Branch: develop
- Last Pushed: 2017-04-21T08:21:14.000Z (over 7 years ago)
- Last Synced: 2024-11-15T09:49:38.834Z (about 2 months ago)
- Topics: angular, dropwizard, scaffold, yeoman, yeoman-generator
- Language: JavaScript
- Size: 114 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# generator-dropwizard-angular-gradle
This is a [Yeoman](http://yeoman.io/) generator that scaffolds out a freestanding web application using:
+ Angular.js, Typescript and Less for the client
+ Java 8 and Dropwizard for the server
+ Gulp and gradle for client dependency management
+ Gradle for server dependency management## Getting Started
Install Yeoman via npm:
$ npm install -g yo
Once you've got Yeoman set up, install this generator:
$ npm install -g generator-dropwizard-angular-gradle
Create the directory in which your new project will live, then call Yeoman to scaffold out your project:
$ mkdir awesome
$ cd awesome
$ yo dropwizard-angular-gradleAnswer a couple of easy questions, and you'll be greeted with a ready-to-rock project. Open the directory up in your Java IDE of choice (I like [IDEA](https://www.jetbrains.com/idea/) myself), import the project as a Gradle project, and you're good to go.
### Client development
There's no need to restart the server every time you make a front-end change. When you start your client development, run:
$ gulp watch
from inside your `awesome-app` directory, then make changes in your favourite editor to the HTML, Less, and Typescript source files in `awesome-app/src`. As you save your changes, they'll automatically be compiled down into CSS and Javascript, and any open browser tabs will be kept up to date with the latest compiled files.
### Shipping
Wow, that was fast! Once you're ready to deploy, run:
$ ./gradlew distZip
from the root of the project, and you'll receive a handy deployable .zip with all of your Java dependencies, compiled front-end resources, and runtime configuration:
$ ls awesome-distribution/build/distributions/
$ awesome-distribution-0.0.0.zipUse git flow and you'll get automatically-sane version tags on your deployable artefacts, too. Ship that .zip onto your server, unzip it, and start your service as you would any Dropwizard server:
$ unzip awesome-distribution-0.0.0.zip
$ cd awesome-distribution-0.0.0
$ ./bin/awesome-distribution server var/conf/server.ymlHit up your server in a browser ([http://localhost:8000/](http://localhost:8000/) by default), and you should see your shiny new application, live and ready to go.