Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
django_mongo_coupons-0.0.1b1-py2.py3-none-any.whl (13.1 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Dec 20, 2016
django-mongo-coupons-0.0.1b1.tar.gz (7.8 kB) Copy SHA256 hash SHA256 Source None Dec 20, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page