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"
}
<!--![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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file django-mongo-coupons-0.0.1b1.tar.gz
.
File metadata
- Download URL: django-mongo-coupons-0.0.1b1.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f55410b84a629d62d11cf199e9d4fdd2e3e0141b22cbf4274edc700e1f0efe0 |
|
MD5 | e418eeb78bb11de1c1ee7b1607949705 |
|
BLAKE2b-256 | 50792689069fa4fbf2b48e65afd34e05825f9fcfb4175439b3599ff2b351027d |
File details
Details for the file django_mongo_coupons-0.0.1b1-py2.py3-none-any.whl
.
File metadata
- Download URL: django_mongo_coupons-0.0.1b1-py2.py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01ff5281817dc1a0b36fea4baf023945c60301183bdebaff7afcdb7334cdfaa0 |
|
MD5 | e74099d4d4df3f45546c00631f4f9908 |
|
BLAKE2b-256 | cd2ce846f9b9461f1544867557c7c7f29b0b400cfab90b6955cc5992af139d9e |