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:
- Basic user system with roles
- Complete order fulfillment system
- Complete email client
- Complete contact management system
- Complete vendor management system
- Partial accounting system that handled recording and reporting on client and vendor invoices
- Basic content management options
- Account and contact management with quite a few shortcuts for easier data management
- Orders are associated with accounts, and then specific contacts are provided for billing and shipping (with default values per-account)
- Email messages are associated with accounts and with orders for easier cross-referencing
- Email listings integrate with Postini email headers
- Email messages support templating, including account- and order-specific information
- All order activity is logged, and each iteration of a quote, invoice or other form is stored in PDF form
- 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
- 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)
- Shipment scheduling for both target date and actual date
- Vendors can access the system to record shipments
- Each order can have multiple shipments that bundle the various products on the order
- Product returns are handled within the shipment module
- Custom line-items and discounts are allowed
- Orders must be un-processed to quotes for modification to avoid accidental order manipulation
- 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
- Basic "notes" system for unstructured data
- Integration with Vonage so that phone calls could be initiated from the admin
- 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
- 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
- Groups of contacts could be constructed using various criteria, with an emphasis on industry involvement
- Email blast system for mass email marketing. This sent to groups of contacts, and a cli queue managed the flow
- Automated import of contact and project information from multiple third-party data providers
- Custom automated email filtering
- User-controlled blacklists to avoid spamming uninterested contacts
- User simulation to allow admin users to see what other users experienced
- Email display that converts text to HTML, styles messages like Apple's iMail, and add links to telephone numbers, order numbers and email addresses
- Dozens of admin reports
- 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.