-
Notifications
You must be signed in to change notification settings - Fork 20
Sample django app for subscription based web service
zhaque/django-saas-kit
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Django SAAS kit =============== Django SAAS kit is an example Django project integrating django-subscription and django-muaccount applications to achieve multi-user accounts with custom domain, that are characteristic for Software As A Service-type (SAAS) services. Table of Contents ================= 1 Getting started 2 Default data set 3 Runtime environment 3.1 Warnings at startup 4 License 1 Getting started ~~~~~~~~~~~~~~~~~ To start the project, after cloning Git repository, run: 1. make -C upstream/ init 2. cd project 3. python manage.py syncdb --noinput 4. python manage.py loaddata exampledata.json 5. python manage.py runserver Project includes as Git sumodules or downloads from upstream/Makefile all needed Django applications; only requirements are Python (2.5 or higher, but may work on earlier versions of Python) and stable release of Django (1.0.2 at this moment). To download dependencies (step 1), following programs are needed: - make, - git, - mercurial, - subversion, - wget, - tar accepting "-j" option (any recent GNU tar). 2 Default data set ~~~~~~~~~~~~~~~~~~ By loading exampledata.json, data is populated with: - Silver Membership monthly recurring plan, linked to Silver Member group, having ability to change muaccount's public status; - Gold Membership monthly recurring plan, linked to Gold Member group, having ability to set custom domain and change muaccount's public status - administrative interface user, login admin, password admin - free_user user, password "free", with no paid plan selected - silver_user user, password "silver", with silver plan selected - gold_user user, password "gold", with gold plan selected - muaccount of free_user with subdomain "free" - muaccount of silver_user with subdomain "silver" - muaccount of gold_user with custom domain "www.gold-account.com" - test1 user, password "test", with no plan selected, member of "free" and "silver" muaccount - test2 user, password "test", with no plan selected, member of "silver" and "gold" account - test3 user, password "test", with no plan selected, member of "gold" account 3 Runtime environment ~~~~~~~~~~~~~~~~~~~~~ Project is expected to run on localhost, port 8000 (or any other port set in MUACCOUNTS_PORT). For all sites to work correctly, following hosts must resolve to 127.0.0.1 (e.g. by adding entry in /etc/hosts): example.com www.example.com free.example.com silver.example.com gold.example.com www.gold-account.com. To deploy on standard port (80 for HTTP), comment out MUACCOUNTS_PORT setting. To succesfully use PayPal sandbox, you'll need to: - sign up for PayPal sandbox at [http://developer.paypal.com/] - configure PAYPAL_RECEIVER_EMAIL and possibly SUBSCRIPTION_PAYPAL_SETTINGS in project/settings.py - make sure your page is visible from outside world (necessary for IPN callbacks) - set your page's IP or root domain (MUACCOUNTS_ROOT_DOMAIN) and port, in form 12.34.56.78:8000 (when deploying on standard port, set just IP or root domain), as `example.com' Site's domain name in admin panel, so that django-subscription can give correct IPN URL to PayPal. To run with live PayPal, you'll need to change {{form.sandbox}} to {{form.render}} in templates/subscription/subscription_detail.html and set PAYPAL_TEST to False in project/settings.py. 3.1 Warnings at startup ======================= When some of dependencies are installed system-wide (especially if installed with easy_install), Django may issue warnings similar to one pasted below: Installing index for admin.LogEntry model Installing index for subscription.Transaction model /opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/simplejson-2.0.9-py2.5-macosx-10.5-i386.egg/simplejson/_speedups.py:3: UserWarning: Module registration was already imported from /Users/admin/Projects/django-saas-kit/site-python/registration/__init__.py, but /opt/local/lib/python2.5/site-packages/django_registration-0.7-py2.5.egg is being added to sys.path import sys, pkg_resources, imp Such warnings are not important, since they only indicate that system-wide installation of django-registration is not used, and project-local checkout is used instead. 4 License ~~~~~~~~~ Licensed under the GPL (GPL-LICENSE.txt).
About
Sample django app for subscription based web service
Resources
Stars
Watchers
Forks
Packages 0
No packages published