Technology Stack:  PHP, MySQL ,CodeIgniter., Propel, JQuery

I was the lead developer for a team hired to update the MarketLink Brokerage System (MBS). The MBS was a major overhaul of an existing CRM system and added many features. We made some major revisions to the db structure for new features and performance. There was also a huge code refactor to put the existing codebase into the CodeIgniter framework and Propel ORM.

The MBS system consisted of a custom CRM that allowed clients (farmers) to communicate with brokers who buy their grains.Clients could also track their shipments.from associated carriers.The CRM portion consisted of many common client and sales tracking features.

MBS consisted of four main parts:  (1) client functionality,  (2) broker functionality, (3) carrier functionality, (4) QuickBooks accounting integration. The legacy system had a basic model and authentication system for clients and brokers but this was greatly enhanced and integrated with the new carrier and accounting pieces.

MBS client functions allow an authorized user/farmer to search for brokers to sell their grains to. Clients can also communicate with the brokers and would receive email reminders about new pricing and other news. After selling their grains clients could then search and communicate with carriers who would ship their grains to their destination. Tracking of shipments was also available.    

MBS broker functions allow an authorized user/grain broker to post prices and quantities of grains they were looking to buy. Brokers entered their geographical data in to MBS, which allowed clients and brokers to use proximity to decrease shipping costs and prevent spoilage. Brokers can also communicate with clients and carriers.

MBS carrier functionality allow an authorized user/grain shipper to post prices for grain shipments by weight and distance from clients to brokers. Carrier prices are perishable and changed due to the variable price of fuel. Carriers can also communicate with brokers and clients about shipping rates and statuses.

MBS Quickbooks integration allow MBS invoices to by imported into Quickbooks once certain criteria were meet. Both client and carrier invoices were included in the sync. Quickbooks would also update the invoices in MBS once they were marked as paid.