GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - analytically/camelcode: Java+Play Framework tech demo that imports the CodePoint Open UK postcode dataset and offers a Geocoding REST API and a postcode map.

This repository was archived by the owner on Jun 29, 2020. It is now read-only.
BranchesTags
Open more actions menu

Latest commit

 

History

80 Commits
80 Commits

Folders and files

NameName
Last commit message
Last commit date
app
app
 
 
codepointopen
codepointopen
 
 
conf
conf
 
 
lib
lib
 
 
project
project
 
 
public/images
public/images
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
README.markdown
README.markdown
 
 
screenshot.png
screenshot.png
 
 
screenshot2.png
screenshot2.png
 
 

Repository files navigation

CamelCode Build Status

A tech demo built using Play Framework 2.2 (Java) that imports the CodePoint Open UK postcode dataset and offers a Geocoding RESTful API and a map. It also demonstrates how Google Guice can be integrated in a Play Framework Java application.

Follow @analytically for updates.

Requirements

  • Java 6 or later
  • Play Framework 2.2.1
  • MongoDB

Setup

Edit conf/application.conf and point it to a MongoDB installation (defaults to localhost:27017), and execute

play run

Then drop the CodePoint Open CSV (scroll halfway down, 20mb) files in the codepointopen directory.

After each file is imported, it will be moved to the codepointopen/done directory.

Then visit http://localhost:9000 and you should see the welcome screen. Check out the server metrics or the map.

REST API and JSON

GET http://localhost:9000/latlng/POSTCODE to geocode a UK postcode. Response will be JSON:

{"latitude":51.505615,"longitude":-2.6120315}

Screenshots

Welcome Page

Map

Technology

  • Play Framework 2.2.1, as web framework
  • Apache Camel to process and monitor the codepointopen directory and to tell the actors about the postcodes (split(body()))
  • Akka provides a nice concurrency model to process the 1.7 million postcodes in under one minute on modern hardware
  • GeoTools converts the eastings/northings to latitude/longitude
  • Guice for Dependency Injection (not too much to inject yet though)
  • Metrics for metrics
  • MongoDB as database with two-dimensional geospatial indexes (see Geospatial Indexing)
  • Morphia for 'Object-Document Mapping'
  • Leaflet for the map
  • Bootstrap and Font Awesome for the UI

License

Licensed under the WTFPL.

This data contains Ordnance Survey data © Crown copyright and database right 2013. Code-Point Open contains Royal Mail data © Royal Mail copyright and database right 2012. Code-Point Open and ONSPD contains National Statistics data © Crown copyright and database right 2013.

OS data may be used under the terms of the OS OpenData licence.

About

Java+Play Framework tech demo that imports the CodePoint Open UK postcode dataset and offers a Geocoding REST API and a postcode map.

Resources

Readme
Activity

Stars

79 stars

Watchers

1 watching

Forks

14 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.