README => md

This commit is contained in:
Yohan Boniface 2015-08-02 22:10:41 +02:00
parent 7b5ea8df67
commit 23a3d79fa7

View file

@ -1,35 +1,33 @@
uMap project # uMap project
==============
## About
About
-----
uMap lets you create maps with OpenStreetMap layers in a minute and embed them in your site. uMap lets you create maps with OpenStreetMap layers in a minute and embed them in your site.
*Because we think that the more OSM will be used, the more OSM will be ''cured''.* *Because we think that the more OSM will be used, the more OSM will be ''cured''.*
It uses `django-leaflet-storage <https://github.com/yohanboniface/django-leaflet-storage>`_ and `Leaflet.Storage <https://github.com/yohanboniface/Leaflet.Storage>`_, built on top of Django and Leaflet. It uses [django-leaflet-storage](https://github.com/umap-project/django-leaflet-storage) and [Leaflet.Storage](https://github.com/umap-project/Leaflet.Storage), built on top of Django and Leaflet.
Quickstart ## Quickstart
----------
Create a geo aware database. See `Geodjango doc <https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/>`_ for backend installation. Create a geo aware database. See [Geodjango doc](https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/) for backend installation.
Create a virtual environment:: Create a virtual environment
virtualenv umap virtualenv umap
source umap/bin/activate source umap/bin/activate
Install dependencies and project:: Install dependencies and project
cd YOUR_SOURCE_DIR cd YOUR_SOURCE_DIR
git clone https://bitbucket.org/yohanboniface/umap.git git clone https://bitbucket.org/yohanboniface/umap.git
pip install -r requirements.txt pip install -r requirements.txt
pip install -e . pip install -e .
Create a default local settings file:: Create a default local settings file
cp umap/settings/local.py.sample umap/settings/local.py cp umap/settings/local.py.sample umap/settings/local.py
Add database connexion informations in `local.py`, for example:: Add database connexion informations in `local.py`, for example
DATABASES = { DATABASES = {
'default': { 'default': {
@ -38,12 +36,12 @@ Add database connexion informations in `local.py`, for example::
} }
} }
Add a `SECRET_KEY` in `local.py` with a long random secret key:: Add a `SECRET_KEY` in `local.py` with a long random secret key
SECRET_KEY = "a long and random secret key that must not be shared" SECRET_KEY = "a long and random secret key that must not be shared"
uMap uses `django-social-auth <http://django-social-auth.readthedocs.org/>`_ for user authentication. So you will need to configure it according to your uMap uses [django-social-auth](http://django-social-auth.readthedocs.org/) for user authentication. So you will need to configure it according to your
needs. For example:: needs. For example
AUTHENTICATION_BACKENDS = ( AUTHENTICATION_BACKENDS = (
'social_auth.backends.contrib.github.GithubBackend', 'social_auth.backends.contrib.github.GithubBackend',
@ -58,27 +56,27 @@ needs. For example::
TWITTER_CONSUMER_KEY = "xxx" TWITTER_CONSUMER_KEY = "xxx"
TWITTER_CONSUMER_SECRET = "yyy" TWITTER_CONSUMER_SECRET = "yyy"
Example of callback URL to use for setting up OAuth apps:: Example of callback URL to use for setting up OAuth apps
http://umap.foo.bar/complete/github/ http://umap.foo.bar/complete/github/
Adapt the `STATIC_ROOT` and `MEDIA_ROOT` to your local environment. Adapt the `STATIC_ROOT` and `MEDIA_ROOT` to your local environment.
Create the tables:: Create the tables
python manage.py migrate python manage.py migrate
Collect and compress the statics:: Collect and compress the statics
python manage.py collectstatic python manage.py collectstatic
python manage.py compress python manage.py compress
Add a site object:: Add a site object
python manage.py shell python manage.py shell
from django.contrib.sites.models import Site from django.contrib.sites.models import Site
Site.objects.create(name='example.com', domain='example.com') Site.objects.create(name='example.com', domain='example.com')
Start the server:: Start the server
python manage.py runserver 0.0.0.0:8000 python manage.py runserver 0.0.0.0:8000
@ -87,8 +85,7 @@ Go to the admin (http://localhost:8000/admin/) and add:
- at least one license - at least one license
- at least one tile layer - at least one tile layer
Search ## Search
------
UMap uses Postgresql tsvector for searching. It case your database is big, you UMap uses Postgresql tsvector for searching. It case your database is big, you
may want to add an index. For that, you sould do so: may want to add an index. For that, you sould do so:
@ -99,7 +96,6 @@ may want to add an index. For that, you sould do so:
ALTER FUNCTION to_tsvector(text) IMMUTABLE; ALTER FUNCTION to_tsvector(text) IMMUTABLE;
CREATE INDEX search_idx ON leaflet_storage_map USING gin(to_tsvector(unaccent(name)), share_status); CREATE INDEX search_idx ON leaflet_storage_map USING gin(to_tsvector(unaccent(name)), share_status);
Translating ## Translating
-----------
Everything is managed through Transifex: https://www.transifex.com/projects/p/umap/ Everything is managed through Transifex: https://www.transifex.com/projects/p/umap/