Pre-release
This release is a pre-release and may not be stable for production use.
# django-mongo-coupons
<!---->
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"
}
<!---->
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"
}
Metadata
Release files for django-mongo-coupons 0.0.1b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-mongo-coupons-0.0.1b1.tar.gz | 7.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_mongo_coupons-0.0.1b1-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 20.9 kB
Release files / django-mongo-coupons-0.0.1b1.tar.gz
| Download URL | django-mongo-coupons-0.0.1b1.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1f55410b84a629d62d11cf199e9d4fdd2e3e0141b22cbf4274edc700e1f0efe0
|
|
BLAKE2b-256 checksum How to use checksums |
50792689069fa4fbf2b48e65afd34e05825f9fcfb4175439b3599ff2b351027d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / django_mongo_coupons-0.0.1b1-py2.py3-none-any.whl
| Download URL | django_mongo_coupons-0.0.1b1-py2.py3-none-any.whl |
|---|---|
| Size | 13.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
01ff5281817dc1a0b36fea4baf023945c60301183bdebaff7afcdb7334cdfaa0
|
|
BLAKE2b-256 checksum How to use checksums |
cd2ce846f9b9461f1544867557c7c7f29b0b400cfab90b6955cc5992af139d9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |