This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
commit 7d04b937432323adb3077d657eb92cd5431d883d
tree 276acc00b86a38c5b22a8efc61741c6dd3d9ed90
parent 4f66aa12dc63c0d5304c396cc7146e264ee310e3
tree 276acc00b86a38c5b22a8efc61741c6dd3d9ed90
parent 4f66aa12dc63c0d5304c396cc7146e264ee310e3
saasy /
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Tue Dec 23 15:17:24 -0800 2008 | |
| |
Capfile | Tue Dec 23 15:15:12 -0800 2008 | |
| |
MIT-LICENSE | Tue Dec 23 15:15:12 -0800 2008 | |
| |
README | Sat Jan 17 11:30:16 -0800 2009 | |
| |
Rakefile | Tue Dec 23 15:15:12 -0800 2008 | |
| |
app/ | Sat Mar 21 18:45:54 -0700 2009 | |
| |
config/ | Thu Mar 19 06:30:43 -0700 2009 | |
| |
db/ | Tue Dec 23 15:15:12 -0800 2008 | |
| |
doc/ | Tue Dec 23 15:38:09 -0800 2008 | |
| |
lib/ | Mon Mar 09 10:18:01 -0700 2009 | |
| |
public/ | Tue Mar 10 02:29:43 -0700 2009 | |
| |
script/ | Tue Dec 23 15:15:12 -0800 2008 | |
| |
test/ | Tue Dec 23 15:15:12 -0800 2008 | |
| |
vendor/ | Sat Mar 21 18:46:11 -0700 2009 |
== Welcome to Saasy Saasy is a Rails app that bills and authenticates, so you don't have to. The idea is that you host Saasy on a subdomain, and communicate with it using SSO/REST protocols. That means you're free to do more interesting coding. *At the moment this is alpha code - use at your own risk* I'd like to thank Made by Many (http://madebymany.co.uk) for supporting this project. Alex MacCaw http://eribium.org info@eribium.org == Screenshots * Billing - http://github.com/maccman/saasy/tree/master/doc/Saasy_Billing.png * Sign up - http://github.com/maccman/saasy/tree/master/doc/Saasy_Signup.png * Edit profile - http://github.com/maccman/saasy/tree/master/doc/Sassy_Edit_Profile.png * Example Invoice - http://github.com/maccman/saasy/tree/master/doc/invoice.pdf == Overview * Subscription management * Recurring billing * Credit card management * User authentication and SSO == Features * No local credit card storage * Automated billing script that should be run nightly * Configurable subscription plans (price/duration) * SSL protection for account creation (and when updating CC info) * Account can have multiple users, interface for adding more * Trial ending mailer * Invoice mailer * Automated notification and retry of failed renewals * Plan upgrade/downgrades * PDF invoices * Forgot password retrieval * OpenID support * Shared secret SSO * Credit card verification * REST API for users and subscriptions == Getting Started # cp config/database.example.yml config/database.yml # cp config/application.example.yml config/application.yml # cp config/subscription.example.yml config/subscription.yml # rake db:schema:load # Setup a cron job to run `rake subs:daily` daily # configure application.yml # configure subscriptions.yml # script/server -p 3001 == Gateways Currently the following gateways are supported: * Braintree * TrustCommerce * PaymentExpress == Choosing a Gateway Braintree seems to be a good choice, and they're friendly to Railers to: * http://groups.google.com/group/rails-business/msg/53da3705df6063a2 == Test transactions As far as I could tell, Braintree are the only Gateway that lets you test transactions without signing up. * http://dev.braintreepaymentsolutions.com/test-transaction/ == SSO (single sign on) I've implemented a simple SSO using shared secrets. have a look at lib/sso.rb for more information. == Gotchas I've made some extensions to various plugins/libs which I've yet to push back: * Extended ActiveMerchant's Braintree and Trust Commerce gateways (see initializers) * Edited acts_as_state_machine: * Added named_scope 'in_state' * Stopped it overriding any states I specified before creation * Make it update all the attributes on save, not just the state column * Used the Rails 2.2 version of prawnto (http://github.com/filiptepper/prawnto/tree/master) * Edited ssl_requirement so that it's disabled in development/test mode. * Rails error_messages_for now uses spans, instead of divs, to be standards compliant * Add a float component to Prawn (see initializers)











