Metadata-Version: 1.0
Name: nsms
Version: 1.0.3
Summary: Provides a skeleton RapidSMS project using Nyaruka's best practices.
Home-page: http://github.com/nyaruka/nsms
Author: Nicolas Pottier
Author-email: code@nyaruka.com
License: BSD
Download-URL: http://github.com/nyaruka/nsms/downloads
Description: NyarukaSMS
        ----------------------------------------
        
        NyarumaSMS aims to provide a quick start for a basic python based SMS app using the tools Nyaruka uses to build its systems.  This includes setting up rapidsms, rapidsms-httprouter, smartmin and our parsing and localization libraries.  
        
        Getting Started
        ----------------
        
        To get started, follow these steps::
        
          % virtualenv env
          % source env/bin/activate
          % pip install nsms
          % start-nsms [project-name]
          % pip install -r pip-requires.txt
          % cd [project-name]
          % python manage.py syncdb
          % python manage.py migrate
          % python manage.py runserver
        
        Sample Application
        -------------------
        
        NSMS comes with a simple SMS application to track the mileage on vehicles.  The SMS format for the application is as follows.
        
        Registering Cars
        ~~~~~~~~~~~~~~~~
        
        Each user of the system much register the car they are using, they do so by sending::
        
          car [license plate]
        
        This register a car to the phone.  From now on all mileage reports will be associated with the car with the passed in license plate.  The license plate must be 8 characters.
        
        Adding Mileage Reports
        ~~~~~~~~~~~~~~~~~~~~~~~
        
        Once a user has registered their car, they can report mileage by sending the message::
        
          miles [mileage (integer)]
        
        This records a new mileage report for the car associated with this connection.  If the connetion has not registered a car then this will be an error.
        
        Best Practices
        ===============
        
        This application aims to demonstrate the following best practices:
         
        * Comprehensive unit coverage.  We aim for 100% unit test coverage of our apps, and so should you.  This app shows you how easily that can be done
        * DRY. We use Smartmin to allow us to add a lot of functionality without adding much code
        * Language Templates.  We let our customers edit the translations for all our messages through a web UI, including using standard Django templates for formatting.
        * Tolerant Parsing.  Though still a work in progress, our rapidsms_parser module provides an easy way to programmatically parse SMS messages and give good error messaging in the process.
        * User Management.  We provide our customers with basic user management, using groups and SmartMin permissions to easily manage these.
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Framework :: Django
