Skip to main content

Django-coupons with mongoengine

Project description

# django-mongo-coupons

<!--![build status](https://travis-ci.org/byteweaver/django-coupons.png)-->


A mongoengine implementaion of [django-coupons](https://github.com/byteweaver/django-coupons "Django-coupons"), A reuseable Django application for coupon gereration and handling.

Is not compatible with relational db Auth User


## Setup instructions

1. Install `django-mongo-coupons` via pip:
```
$ pip install django-mongo-coupons
```

2. Add `'mongo_coupons'` to `INSTALLED_APPS` in `settings.py`.


```Python
INSTALLED_APPS = [
...
'mongoengine'
'rest_framework_mongoengine',
'mongo_coupons'
...
]
```

3. Include `mongo_coupons.urls` in urls.py
```Python
urlpatterns += [ url(r'^coupons/', include(coupon_urls)) ]
```

## Dependencies
* [mongoengine]('http://mongoengine.org/')
* [django-rest-framework]('http://www.django-rest-framework.org/')
* [django-rest-framework-mongoengine]('https://github.com/umutbozkurt/django-rest-framework-mongoengine.git')
* [django-mongoengine]('https://github.com/MongoEngine/django-mongoengine.git') # unstable project, needed if`AUTH_USER_MODEL` is not defined.

## Supported use cases of coupons

Supports all coupons supported by [django-coupons](https://github.com/byteweaver/django-coupons "Django-coupons") and few more:

* single time (default): coupon can be used one time without being bound to an user.
* user limited: coupon can be used one time but only by a specific user.
* limit number: coupon can be used a limited number of times, by any user once.
* users list: coupon can be used by a defined list of users, each once.
* unlimited: coupon can be used unlimited times, but only once by the same user.
* usage limited: type of coupon can be any of the above but can be used only n times


## Example

###### Request

$ curl 'http://localhost:8000/coupons/coupons/'\
-H 'Accept: application/json; indent=4'\
-H 'Content-Type: application/json'\
-X POST -d '{
"value": 50,
"code": "",
"type": "percentage",
"user_limit": 3,
"campaign": "5857afaf86a5c70681a5b783",
"max_discount": "500"
}'

<sup>* campain: _id of the campain</sup>

###### Response

{
"id": "58590b3d86a5c770e85db279",
"value": 50,
"code": "KijWCoTI8xUI7tc",
"max_discount": 500,
"type": "percentage",
"user_limit": 3,
"usage_limit": 1,
"created_at": "2016-12-20T10:42:25.701545",
"valid_until": null,
"kwargs": null,
"campaign": "5857afaf86a5c70681a5b783"
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-mongo-coupons-0.0.1b1.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

django_mongo_coupons-0.0.1b1-py2.py3-none-any.whl (13.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-mongo-coupons-0.0.1b1.tar.gz.

File metadata

File hashes

Hashes for django-mongo-coupons-0.0.1b1.tar.gz
Algorithm Hash digest
SHA256 1f55410b84a629d62d11cf199e9d4fdd2e3e0141b22cbf4274edc700e1f0efe0
MD5 e418eeb78bb11de1c1ee7b1607949705
BLAKE2b-256 50792689069fa4fbf2b48e65afd34e05825f9fcfb4175439b3599ff2b351027d

See more details on using hashes here.

File details

Details for the file django_mongo_coupons-0.0.1b1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_mongo_coupons-0.0.1b1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 01ff5281817dc1a0b36fea4baf023945c60301183bdebaff7afcdb7334cdfaa0
MD5 e74099d4d4df3f45546c00631f4f9908
BLAKE2b-256 cd2ce846f9b9461f1544867557c7c7f29b0b400cfab90b6955cc5992af139d9e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page