01 March 2008

This project was extremely large and spanned at least six years. The next iteration of the system stopped in alpha due to funding problems, but it recast the admin as a Value-Chain Management System. It enabled BRP to expand rapidly before the economy stagnated in 2008.

When I started on the project, it was relatively small and very buggy. Even at the end, I was still working with/around some of the original code -- there were never quite enough problems to justify a complete rewrite, and incremental progress was always key. When I started, it was still before the CMS era when there were great open source options, but I was able to evolve some of the implementation to more modern object-oriented implementations over time.

That is a verbose way of saying that it was a big and complex project that took a lot of effort, a lot time, and a lot of planning to maintain ROI and avoid problems with interrelated modules.

I only have a handful of screenshots, but here are some of the features that the system has:

  1. Basic user system with roles
  2. Complete order fulfillment system
  3. Complete email client
  4. Complete contact management system
  5. Complete vendor management system
  6. Partial accounting system that handled recording and reporting on client and vendor invoices
  7. Basic content management options
  8. Account and contact management with quite a few shortcuts for easier data management
  9. Orders are associated with accounts, and then specific contacts are provided for billing and shipping (with default values per-account)
  10. Email messages are associated with accounts and with orders for easier cross-referencing
  11. Email listings integrate with Postini email headers
  12. Email messages support templating, including account- and order-specific information
  13. All order activity is logged, and each iteration of a quote, invoice or other form is stored in PDF form
  14. All PDFs and files are offloaded to Amazon S3 after a certain timeframe, and the files can be accessed the same way for local files and for those archived on S3
  15. Order status is maintained in a very fine-grained manner. It can be temporarily adjusted by "notes" such that the status reverts once the note is handled. The status is also automatically adjusted by various date settings and order actions (e.g. payment)
  16. Shipment scheduling for both target date and actual date
  17. Vendors can access the system to record shipments
  18. Each order can have multiple shipments that bundle the various products on the order
  19. Product returns are handled within the shipment module
  20. Custom line-items and discounts are allowed
  21. Orders must be un-processed to quotes for modification to avoid accidental order manipulation
  22. Unified search allows users to quickly find any type of information that may reference particular values. For instance, you could search for the name of a park, and it could find both employees of the park and quotes sent to other accounts for a project happening at the park
  23. Basic "notes" system for unstructured data
  24. Integration with Vonage so that phone calls could be initiated from the admin
  25. Fax server such that faxes could be sent the same way as emails, complete with queue to retry failures. This was implemented using Hylafax and Vonage
  26. A "remember" allowed users to quickly put contacts on their list to remember. Then, that short list would appear on various forms that would otherwise require searching the entire database
  27. Groups of contacts could be constructed using various criteria, with an emphasis on industry involvement
  28. Email blast system for mass email marketing. This sent to groups of contacts, and a cli queue managed the flow
  29. Automated import of contact and project information from multiple third-party data providers
  30. Custom automated email filtering
  31. User-controlled blacklists to avoid spamming uninterested contacts
  32. User simulation to allow admin users to see what other users experienced
  33. Email display that converts text to HTML, styles messages like Apple's iMail, and add links to telephone numbers, order numbers and email addresses
  34. Dozens of admin reports
  35. Lots of other features that I do not remember or did not think worthy of note -- it was a massive system!

This is a truly powerful system. It has been sufficient to run the company unmodified for over a year, although there was a hefty long-term plan. I stopped working on the project due to fiscal issues, and it is unknown whether there is any active development at this point.

 

Technologies:


blog comments powered by Disqus