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.