Yesterday evening saw the launch of nusii a Spanish SaaS application to allow freelancers, studios and agencies to create and send client proposals. I developed this application using Ruby on Rails over the last few weeks for Nathan Powell a freelance designer from Wales, UK but based in Madrid, Spain.
The blog post will outline and discuss some of the features and techniques used development of nusii:
- The front end site (nusii.com) is hosted on Media Temple and is just flat HTML, the back-end Rails app (app.nusii.com) is hosted with Heroku.
- By using
request.subdomainin a before filter a user is directed to their subdomain upon login. This also ensures the user can only use their subdomain and anonymous users are redirected back to app.nusii.com. The DNS is setup with *.nusii.com point to Heroku via a CNAME to allow all subdomains to work.
- User authentication is all handled by devise, which is fantastic!
- Payments are handled by Paymill and thanks to Marc Boquet for his example code this was pretty straightforward to setup.
- Lots of associations are used to make the organisation of data simpler. A client has many proposals, a proposal has one client, a proposal has many sections, a section has one proposal, a proposal has many documents, a document has one proposal.
- Account logos and proposal documents are all stored on Amazon S3 via Cloudinary which makes manipulation of images and PDFs easy.
- All emails are sent via Mailchimp's Mandrill service.
- Even though the site is in Spanish, it was written in English then translated using Rails' I18n functionality.
- The blog links in the footer are pulled in via RSS from the Wordpress based blog using feedzirra in a helper method, then cached for 24 hours.
It's been a great project to be part of and I hope to work on it for a while rolling out updates and changes as needed.
Any questions about the development? add a comment.