Beginning in 2004, I designed a complete client management system for a Cocard POS reseller
company called A-Aaacess. The system is full of functionality and maintainable by
it's owners. If you would like to see a clone of the system, you can contact me and I can set a
sample system up for you to view. Please note that I do NOT own rights to the code, I mearly wrote it.
The system is organized into modules, with libraries and a configuration file keeping them
working together. Multiple offices can also be created to use the system, and are cut off from
each other so one office cannot view another office's clients. Each office has an admin login
which then controls that office's users and options.
I'm currently in the middle of re-writing the core of it in MVC layout, which has been a lot of
fun so far even though I've had to essentially write my own framework :)
The system has TONS of abilities and functionality. I've listed some of what it can do below.
complete messaging system
tabbed sections to enter client information
automatic and manual client history tracking
advanced searching capabilities with optional dynamic search fields
error reporting and tracking system
multiple office, with multiple users per office abilities.
admin user for each office to control users and office options
load all client data from the database into PDFs for download
send emails with links to download a PDF with the client's information
intricate permissions system for users
ability to backup an office's database for download as an encrypted zip file
integrated KBA system
Besides the management system, I manage the company's servers and designed the development
processes including the following:
Subversion source repository (a centralized repository was more appropriate in this case)
Bug tracking system (redmine) used for tracking bugs, features, and versions
Testing environment with automatically generated sites based on latest code
Custom sync functionality between the repository and the live server
Documentation for other php developers on setting up development environments for both Windows and Linux
Custom integration between the VoIP server and the management system to track calls related to customers and sales calls
The really challenging part of the above was that myself and most of the others work remotely, so the
systems and processes put in place had to really work well to be able to track and monitor the work of all
employees. This really provided some great project management experience as well as teaching me how important
good documentation and clear expectations can be.