The OpenStreetMap website is a Rails application which has very many (some might say too many) roles within the project - from displaying the map and search interface, through to serving API requests.

Functions of the website

A few of the more important functions that the website provides to the OpenStreetMap community are:

  • User management: contributors sign up and can manage their accounts through the website.
  • Contribute to the map: most of the editing API is implemented as part of the website. This is how a contributor's edits are uploaded from their editing tool.
  • Map viewing and sharing: the front page prominently displays a large map, which can be shared by links or embedded HTML fragments. It is also possible to export small areas of the map as images.
  • Search: the front page has search functionality to allow a visitor to find an area of interest, look up an address or point of interest.
  • Data browsing: the website exports the history of the map as a set of linked pages which can be used to quickly and manually look up or check information.
  • GPS traces: contributors can upload GPS traces, which are then made available (with selectable degrees of privacy) for use in editing tools to improve the map.
  • User diaries: each signed-up contributor is able to write 'diary' entries - a sort of minimalistic blog - which other contributors can comment on or see in an RSS feed.
  • User messaging: users can send each other messages - a sort of minimalistic email - without revealing their email addresses.