├── project ├── build.properties ├── plugins.sbt └── Build.scala ├── screenshot.png ├── screenshot2.png ├── public └── images │ ├── favicon.png │ ├── layers.png │ ├── zoom-in.png │ ├── zoom-out.png │ ├── popup-close.png │ └── maki │ ├── marker-solid-12.png │ ├── marker-solid-18.png │ └── marker-solid-24.png ├── lib └── com.springsource.javax.media.jai.core-1.1.3.jar ├── .gitignore ├── .travis.yml ├── app ├── modules │ ├── CamelcodeModule.java │ └── MorphiaModule.java ├── views │ ├── twitterBootstrapFieldConstructor.scala.html │ ├── main.scala.html │ ├── map.scala.html │ └── index.scala.html ├── models │ ├── Location.java │ ├── CartesianLocation.java │ ├── PostcodeUnit.java │ ├── csv │ │ └── CodePointOpenCsvEntry.java │ └── Model.java ├── utils │ └── MoreMatchers.java ├── services │ ├── MongoService.java │ └── CPOCsvCamelWatchService.java ├── actors │ └── ProcessCPOCsvEntry.java ├── controllers │ ├── Application.java │ └── Server.java └── Global.java ├── conf ├── application.conf └── routes └── README.markdown /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=0.13.1 2 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analytically/camelcode/HEAD/screenshot.png -------------------------------------------------------------------------------- /screenshot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analytically/camelcode/HEAD/screenshot2.png -------------------------------------------------------------------------------- /public/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analytically/camelcode/HEAD/public/images/favicon.png -------------------------------------------------------------------------------- /public/images/layers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analytically/camelcode/HEAD/public/images/layers.png -------------------------------------------------------------------------------- /public/images/zoom-in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analytically/camelcode/HEAD/public/images/zoom-in.png -------------------------------------------------------------------------------- /public/images/zoom-out.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analytically/camelcode/HEAD/public/images/zoom-out.png -------------------------------------------------------------------------------- /public/images/popup-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analytically/camelcode/HEAD/public/images/popup-close.png -------------------------------------------------------------------------------- /public/images/maki/marker-solid-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analytically/camelcode/HEAD/public/images/maki/marker-solid-12.png -------------------------------------------------------------------------------- /public/images/maki/marker-solid-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analytically/camelcode/HEAD/public/images/maki/marker-solid-18.png -------------------------------------------------------------------------------- /public/images/maki/marker-solid-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analytically/camelcode/HEAD/public/images/maki/marker-solid-24.png -------------------------------------------------------------------------------- /lib/com.springsource.javax.media.jai.core-1.1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analytically/camelcode/HEAD/lib/com.springsource.javax.media.jai.core-1.1.3.jar -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | logs 2 | project/project 3 | project/target 4 | codepointopen/done 5 | target 6 | tmp 7 | .history 8 | .settings 9 | .idea 10 | .idea_modules 11 | dist -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | env: 3 | - PLAY_VERSION="2.2.1" # Latest 2.x 4 | before_script: 5 | - wget http://downloads.typesafe.com/play/${PLAY_VERSION}/play-${PLAY_VERSION}.zip 6 | - unzip -q play-${PLAY_VERSION}.zip 7 | script: play-${PLAY_VERSION}/play dist -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- 1 | // Comment to get more information during initialization 2 | logLevel := Level.Warn 3 | 4 | // The Typesafe repository 5 | resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/" 6 | 7 | // Use the Play sbt plugin for Play projects 8 | addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.2") 9 | -------------------------------------------------------------------------------- /app/modules/CamelcodeModule.java: -------------------------------------------------------------------------------- 1 | package modules; 2 | 3 | import com.google.inject.AbstractModule; 4 | import org.apache.camel.CamelContext; 5 | import org.apache.camel.impl.DefaultCamelContext; 6 | 7 | /** 8 | * @author Mathias Bogaert 9 | */ 10 | public class CamelcodeModule extends AbstractModule { 11 | @Override 12 | protected void configure() { 13 | bind(CamelContext.class).to(DefaultCamelContext.class).asEagerSingleton(); 14 | } 15 | } -------------------------------------------------------------------------------- /app/views/twitterBootstrapFieldConstructor.scala.html: -------------------------------------------------------------------------------- 1 | @(elements: helper.FieldElements) 2 | 3 |
11 | A tech demo built using Play Framework that 12 | imports the CodePoint Open UK 13 | postcode dataset and offers a Geocoding REST API. 14 |
15 |23 | Geocoding UK postcodes has never been so easy! The 1.7 million 24 | CodePoint Open postcodes 25 | are imported in under one minute, and average response time is below 10ms on modern hardware. Try these: 26 | BS10 6TF, 27 | SW1A 2AA. 28 |
29 |33 | Visit the postcode map. Click anywhere to display postcodes. 34 | CTRL-Double click for distances. 35 |
36 |40 | Built standing on the shoulders of 41 | Play Framework 2.2 , 42 | Apache Camel , 43 | GeoTools , 44 | MongoDB , 45 | Morphia , 46 | Google Guice , 47 | Twitter Bootstrap and 48 | Font Awesome . 49 |
50 |56 | The CamelCode project is free for commercial use. 57 | Follow @@analytically 58 | for updates and programming tips and tricks. Development sponsored by Coen Recruitment. 59 |
60 |