X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/e660e609661edadc1ed5ad49d6e83e936b2f91cd..31d879d403f7e70be3fa27f67ca595defd33af31:/README.md diff --git a/README.md b/README.md index edad66cc0..b7d2a4f02 100644 --- a/README.md +++ b/README.md @@ -1,132 +1,47 @@ -# Description +# openstreetmap-website -This is the Rails port, the [Ruby on Rails](http://rubyonrails.org/) -application that powers [OpenStreetMap](http://www.openstreetmap.org). +[![Lint](https://github.com/openstreetmap/openstreetmap-website/workflows/Lint/badge.svg?branch=master&event=push)](https://github.com/openstreetmap/openstreetmap-website/actions?query=workflow%3ALint%20branch%3Amaster%20event%3Apush) +[![Tests](https://github.com/openstreetmap/openstreetmap-website/workflows/Tests/badge.svg?branch=master&event=push)](https://github.com/openstreetmap/openstreetmap-website/actions?query=workflow%3ATests%20branch%3Amaster%20event%3Apush) +[![Coverage Status](https://coveralls.io/repos/openstreetmap/openstreetmap-website/badge.svg?branch=master)](https://coveralls.io/r/openstreetmap/openstreetmap-website?branch=master) -The Rails port provides almost all the services which are available -on the OpenStreetMap site, including: +This is `openstreetmap-website`, the [Ruby on Rails](http://rubyonrails.org/) +application that powers the [OpenStreetMap](https://www.openstreetmap.org) website and API. -* The web site itself, including the edit pages. -* The editing [API](http://wiki.openstreetmap.org/wiki/API_v0.6). -* Browse pages - a web front-end to the OpenStreetMap data. -* The user system, including preferences, diary entries, friends and - user-to-user messaging. -* GPX uploads, browsing and API. +This repository consists of: -There are some non-Rails services which the site includes, for -example; tiles, geocoding, GPX file loading. There are also some -utilities which provide other services on the OpenStreetMap site, -or improve its function, but are not integrated with the Rails -port, for example; Osmosis, CGImap. +* The web site, including user accounts, diary entries, user-to-user messaging. +* The XML- and JSON-based editing [API](https://wiki.openstreetmap.org/wiki/API_v0.6). +* The integrated version of the [iD](https://wiki.openstreetmap.org/wiki/ID) editor. +* The Browse pages - a web front-end to the OpenStreetMap data. +* The GPX uploads, browsing and API. -# License - -This software is licensed under the [GNU General Public License 2.0](http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt), -a copy of which can be found in the LICENSE file. - -# Running it - -You can find documentation on [how to setup and -run](http://wiki.openstreetmap.org/wiki/The_Rails_Port) the software -on the OpenStreetMap wiki. - -# Hacking it - -The canonical Git repository for this software is hosted at -[git.openstreetmap.org](http://git.openstreetmap.org/?p=rails.git), -but much of the development is done on GitHub and for most people -[this repository on Github](https://github.com/openstreetmap/openstreetmap-website) -will be a better place to start. - -Anybody hacking on the code is welcome to join the -[rails-dev](http://lists.openstreetmap.org/listinfo/rails-dev) mailing -list where other people hacking on the code hang out and will be happy -to help with any problems you may encounter. - -There are also weekly IRC meetings, at 1800 GMT on Mondays in #osm-ewg on -the OFTC network where questions can be asked and ideas discussed. For more -information, please see [the EWG page] -(http://www.osmfoundation.org/wiki/Engineering_Working_Group#Meetings). You can -join the channel using your favourite IRC client or [irc.openstreetmap.org](http://irc.openstreetmap.org/). - -## Rails - -If you're not already familiar with Ruby on Rails then it's probably -worth having a look at [Rails Guides](http://guides.rubyonrails.org/) for an introduction. - -While working with Rails you will probably find the [API documentation](http://api.rubyonrails.org/) -helpful as a reference. - -## Coding style +A fully-functional `openstreetmap-website` installation depends on other services, including map tile +servers and geocoding services, that are provided by other software. The default installation +uses publicly-available services to help with development and testing. -When writing code it is generally a good idea to try and match your -formatting to hat of any existing code in the same file, or to other -similar files if you are writing new code. Consistency of layout is -far more important that the layout itself as it makes reading code -much easier. - -One golden rule of formatting -- please don't use tabs in your code -as they will cause the file to be formatted differently for different -people depending on how they have their editor configured. - -## Testing - -Having a good suite of tests is very important to the stability and -maintainability of any code base. The tests in the Rails port code are -by no means complete, but they are extensive, and must continue to be -so with any new functionality which is written. Tests are also useful -in giving others confidence in the code you've written, and can -greatly speed up the process of merging in new code. - -When hacking, you should: - -* Write new tests to cover the new functionality you've added. -* Where appropriate, modify existing tests to reflect new or changed -functionality. -* Never comment out or remove a test just because it doesn't pass. - -## Comments - -Sometimes it's not apparent from the code itself what it does, or, -more importantly, **why** it does that. Good comments help your fellow -developers to read the code and satisfy themselves that it's doing the -right thing. - -When hacking, you should: - -* Comment your code - don't go overboard, but explain the bits which -might be difficult to understand what the code does, why it does it -and why it should be the way it is. -* Check existing comments to ensure that they are not misleading. - -## Committing +# License -When you submit patches, the project maintainer has to read them and -understand them. This is difficult enough at the best of times, and -misunderstanding patches can lead to them being more difficult to -merge. To help wit this, when submitting you should: +This software is licensed under the [GNU General Public License 2.0](https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt), +a copy of which can be found in the [LICENSE](LICENSE) file. -* Split up large patches into smaller units of functionality. -* Keep your commit messages relevant to the changes in each individual -unit. +# Installation -When writing commit messages please try and stick to the same style as -other commits, namely: +`openstreetmap-website` is a Ruby on Rails application that uses PostgreSQL as its database, and has a large +number of dependencies for installation. For full details please see [INSTALL.md](INSTALL.md). -* A one line summary, starting with a capital and with no full stop. -* A blank line. -* Full description, as proper sentences with capitals and full stops. +# Development -For simple commits the one line summary is often enough and the body -of the commit message can be left out. +We're always keen to have more developers! Pull requests are very welcome. -## Sending the patches +* Bugs are recorded in the [issue tracker](https://github.com/openstreetmap/openstreetmap-website/issues). +* Translation is managed by [Translatewiki](https://translatewiki.net/wiki/Translating:OpenStreetMap). +* Local Chapters shown on the Communities page, and their translations, come from [osm-community-index](https://github.com/osmlab/osm-community-index). +* There is a [rails-dev@openstreetmap.org](https://lists.openstreetmap.org/listinfo/rails-dev) mailing list for development discussion. +* IRC - there is the #osm-dev channel on irc.oftc.net. -If you have forked on GitHub then the best way to submit your patches is to -push your changes back to GitHub and then send a "pull request" on GitHub. +More details on contributing to the code are in the [CONTRIBUTING.md](CONTRIBUTING.md) file. -Otherwise you should either push your changes to a publicly visible git repository -and send the details to the [rails-dev](http://lists.openstreetmap.org/listinfo/rails-dev) -list or generate patches with `git format-patch` and send them to the -[rails-dev](http://lists.openstreetmap.org/listinfo/rails-dev) list. +# Maintainers +* Tom Hughes [@tomhughes](https://github.com/tomhughes/) +* Andy Allan [@gravitystorm](https://github.com/gravitystorm/)