Reputation: 2849
I'm at the point in my application where I would like to integrate a saas solution into my application using ruby on rails. So far everything has been good except I am unsure where to begin.
My Idea:
I would create a subscription.rb and plan.rb model. A user would belong to subscription and subscription would have many users. Next subscriptions would have many plans and plans would belong to subscription. I would then add role for each plan to limit a user from certain parts of the application maybe using cancan. After setting everything up I would integrate stripe into my application to handle the payment side of things.
The above is how I am thinking of setting this up. It may truly be the wrong concept but that is why I wrote it so you could get an understanding of what I am thinking. I know I could use third party services like recurly, chargify, etc but I am opening my eyes to see if this can be done using a similar a approach.
What technologies have you used or prefer to use when creating a saas application?
Is my approach wrong? If so what is a better way to approach this?
Any tips or advice for creating a saas application such as technologies, ruby on rails tools etc.
Upvotes: 2
Views: 4083
Reputation: 10952
Take a look at the open source example application for a Rails Membership/Subscription/SaaS Site from the RailsApps project. It comes with a tutorial that explains the implementation in great detail. Here's the libraries it uses:
Using Stripe for billing makes implementation easy and reduces security risks as Stripe handles all the automated recurring billing.
The RailsApps example puts CanCan together with Rolify and uses roles that correspond with subscription plans to manage user access. It shows how to simplify the architecture so there's no need for the complexity of a subscription.rb or plan.rb model (though you could refactor that if you wanted to).
Upvotes: 3
Reputation: 26
1) I use MongoDB as the db backend for the flexibility, RSpec for TDD, HAML/SASS, and RailsAdmin for a quick admin dashboard.
2) Its not necessarily wrong, but its up to you in terms of what you plan on allowing users to do.
3) So wait, have you already developed your tool or are you asking us to plan your tool. Also, what kind of Saas application did you intend to build?
Upvotes: 0