Instead of hard coupling the project to the rails application and making the client use the ActiveRecord objects as points of integration, provide an API that users can integrate using it.
- Extract service objects that consume from active record
- Change the client application to use service objects
- Remove Rails Engine hard dependency. Make engine use optional.
Re-ensure that the project is not using dependencies it doesn't actually need.
- Devise?
- Formtastic
- Paypal IPN support
- Dashboards
Use a markdown language or something at the Admin screen to configure how the Receipts are being generated, instead of making users have to override internally at their apps. This is related to removing the Rails Engines dependnecy.
Add set of tests for rails 4.0
- Revisit the need of AR callbacks
- Mailer