CPF Market is a commercial real state financing web application.
It allows borrowers to present their financing projects. It also allows lenders search for financing opportunities.
CPF Market is a commercial real state financing web application.
It allows borrowers to present their financing projects. It also allows lenders search for financing opportunities.
The design for CPF Market had to be sober. We went with a study of cool colors and serif fonts. We collaborated with CPF Market's team to arrive to a functional solution for their users.
We created this app in Ruby on Rails.
We integrated with Stripe which allows users to pay with a credit card. We also implemented promotional codes which is agregated directly to the data bases.
Moreover, we implented Active Admin which is a Ruby on Rails framework that creates the app administration with a clean and easy to use interface.
The development team was conformed by 1 engineer working full time.
def code_used? errors.add(:code, "Code used") if used used end def find_promotional_code(params) PromotionalCode.find_by(code: params[:code]) end
require 'rails_helper' RSpec.describe PromotionalCode, :type => :model do describe '.promotional_code' do promotional_code = FactoryGirl.create(:promotional_code) context 'code used' do result = promotional_code.used? it { expect(result).to be(false) } end end end
def payment_with_promotional_code if find_promotional_code find_promotional_code.update_attributes(used: true) if current_user.set_payment redirect_to properties_path elsif find_promotional_code.nil? redirect_to new_property_path, alert: "Please make sure you have a valid code" else redirect_to new_property_path, alert: "Please make sure you have a valid code" end end
require 'rails_helper' RSpec.describe ChargesController, :type => :controller do describe "payment with promotional code" do promotional_code = FactoryGirl.create(:promotional_code) context "promotional code valid" do result = promotional_code.find_promotional_code(code: "M18A") it { expect(result).not_to be_nil } it { expect {promotional_code.update(used: true)}} end context "promotional code not valid" do result = promotional_code.find_promotional_code(code: "H75") it { result.should be_nil } end context "promotional code nil" do it { expect(promotional_code.code).not_to be_empty } end end end
Don't take our word for it.
We run CPF Market through Code Climate, and this third party app rates our code and gives us recommendations in how to improve it.
We have weekly calls where we discuss progress. We use Skype, Google Hangouts or GotoMeeting.
We agreed on a day and time that worked for everyone.
In the beginning we send a timeline specifying the planning and tasks for that week.
These tasks are the same cards we have planned in Trello.
We translate all requirements into stories in Trello Cards.
Trello is the place to add any specification, ask questions or comments to the team.
Once the tasks are done they go through a testing process and we pass them for your approval.
Every week we will pass cards onto the client list for you to give us feedback.
Once the functionality is completed one of our functional testers will try to break the feature.
We either move it to Needs Improvement or pass it to you for feedback.
We need the support from you to review the cards and Approve them or tell us how to improve it.
This is key to meet goals and being on time in the development of the application.