https://github.com/polyconseil/django-mds
https://github.com/polyconseil/django-mds
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/polyconseil/django-mds
- Owner: Polyconseil
- License: mit
- Created: 2018-10-24T11:33:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-04-06T13:50:48.000Z (about 6 years ago)
- Last Synced: 2025-09-05T19:14:02.602Z (9 months ago)
- Language: Python
- Size: 1.18 MB
- Stars: 16
- Watchers: 18
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
README
# Contact informations
You are a city, a mobility provider or you simply want to know more about our MDS tools: send us a mail at contact@bluesystems.fr
# django-mds - MDS compliant mobility data service
[](https://travis-ci.org/Polyconseil/django-mds)
A [City of LA MDS Specification](https://github.com/CityOfLosAngeles/mobility-data-specification) (Mobility Data Specification) compliant implementation of the Agency API for Python/Django
## Goals & non-goals
### Goals
* Ultimately MDS compliance
* A way to test MDS ideas on a real implementation as we believe
it is hard to specify a quality API without a reference implementation alongside
* Developer-friendly to be able for all stakeholders to contribute
### Non-goals
* High-performance: we favor developer-friendliness over performance (this software being stateless, scaling is trivial anyway. Just the database needs to be correctly dimensioned)
* Full-featured UI: we provide an UI with required features, but this remains an API-first software
* Data-analysis: analysis should be done by other apps consuming the consumer API of this app (the API must be designed to allow data consumption by third-party software)
## Tech & requirements
* Python 3 with [Django](https://www.djangoproject.com/) and [GeoDjango](https://docs.djangoproject.com/en/2.1/ref/contrib/gis/)
* Postgresql with [PostGIS](https://postgis.net/)
* Swagger for interactive API documentation (available on /schema)
## How to run
### Test project
* Install and configure requirements (see above)
* Run `pip install .[dev]` to install dependencies
* You need the following env variables: `MDS_DB_NAME`, `MDS_DB_USER` and `MDS_DB_PASSWORD`
* To initialize the database, run `python manage.py migrate`
* To start the project locally, run `MDS_DEV_DEBUG=1 python manage.py runserver`
A sample environment configuration is provided in `.env.example`
#### Authentication
Request authentication is done through JWT bearer token as specified in [MDS](https://github.com/CityOfLosAngeles/mobility-data-specification/tree/dev/agency#authorization)
JWT secret key or public key should be given through environment configuration `MDS_AUTH_SECRET_KEY` or `MDS_AUTH_PUBLIC_KEY`
### Frontend
See dedicated README in [front/README.md](https://github.com/Polyconseil/django-mds/blob/master/front/README.md)
## Release
We use [semantic versioning](https://semver.org/) and zest.releaser for the actual release:
fullrelease
Just follow the steps and hit Enter to answer Yes.