Projects
Corporate Quoting Tool
About:
A corporate and real time quoting/budgeting tool for your business. Keep all your clients, companies and products in one place. Send professional quotes from any place in the world to all your clients in any currency you need.
Team & Time:
All the development was done by myself and the support of my family in three months (part time).
Team Dynamics:
Agile & Kanban
A mix of Agile (moving quickly and easily) & physical Kanban was implemented.
Pivotal Tracker
Pivotal tracker was used as the software management tool to keep track of the user stories development.
Technology stack:

Key Features:
- Keep your business, clients, quotes/budgets in one place.
- Pick a currency and send professional quotes to clients in matter of seconds.
- Edit quotes on the fly to adjust them to the clients requirements.
- Monitor your business performance with monthly quote statistics and key performance indicators.




Fameworks and languages
- Ruby version: 2.2.1
- Rails version: 4.2.3
Deployment Platform
Heroku's platform is implemented for application deployment with two environments.
Development: where all features are tested before pushing to the production environment.
Production: where the live application is hosted.
File uploads
File uploads is implemented with Carrierwave gem. File uploads is not possible with Heroku since files are deleted everytime code gets pushed and the dynos are restarted (happens considerably). Amazon Web Services S3 is the approach used for storing file uploads.
User Roles & Authentication
Devise gem is used for role-based authentication with two main roles:
- Administrator
- User
Test Coverage
• Feature Specs
Front end tests that go thru the main features of the application making sure all the parts work together. Capybara technology is used so that filling out forms and clicking around the application happens automatically.
• Model Specs
Model tests make sure that the base of the application (classes/models, methods, datatypes) and all objects can interact keeping the integrity of the system.
• Controller Specs
Controller specs speak for themeselves. They make sure all the applications logic works as expected. A good approach when reading an applications code base for the first time is to go first to the controller tests since they are very verbose and should give you a good picture of the purpose, function and expectancy of each controller.
• View Specs
Tests the display of information in the applications templates.
• Integration specs
Tests all the parts of the application that were integrated. For example API´s and other platform requests or dependencies.
Real time currency and price calculation
Fixer.io API implementation to retreive real time currency values and send up to date quotes with actual market prices.
PDF rendering
WickedPDF gem is used for PDF rendering. This technology is capable of rendering html templates and stylesheets making it possible to generate quotes in PDF format to send the most international version of documents to your clients.