Project Platform: PHP Project Management Script

Project Platform: PHP Project Management Script

The ClientEngage Project Platform is an online portal which gives you the tools to more closely interact with your clients when you are working together on projects. It provides you with an online platform on which you can interact with your clients. Some of the benefits of ClientEngage are flawless project management, discussions, effortless task assignments and tracking and a secure upload and attachment sharing facility.

  • Your own online project management platform
  • Allows you and your clients to assign tasks to each other
  • Includes client-discussion facilities
  • Secure login, attachment and file-sharing functions
  • Has a built-in notification/activity system
  • Developed on-top of the CakePHP framework



  • PHP Project Management Script

  • Quick and easy project creation
  • Add an unlimited number of phases to a project
  • Set start & dates for phases
  • Update the project’s progress at any time
  • Phases automatically determine their status based in progress, start- and end times
  • You can create multiple administrators

  • Discussions & Task Management

  • Effortlessly discuss with your clients online
  • Easily turn a comment into a task and track completion
  • Also clients can create tasks to be completed by you
  • Tasks can have varying levels of priority (low, normal, high)

  • Secure Attachment Sharing Facility

  • Attach an unlimited number of files to any comment
  • Easily share files with your client or vice versa
  • You can determine which kind of files your clients are not allowed to upload
  • The attachment functionality is secure – clients cannot access files that belong to projects which they are not associated with

  • Client & User Management

  • Create an unlimited number of clients and users
  • Several clients can join the same project – ideal for when you are working with more than one client on a project
  • Clients can have an unlimited number of users – perfect for when your client needs access for several employees
  • Batch-processing and sending of personalised invitation emails

  • Activity Notifications

  • ClientEngage provides a fully-featured notification system
  • Logging of date and time of any types of activity
  • You know exactly what developments have taken place once you log in
  • Easily sort activities and find out what has happened whilst you were away
  • Clients can follow new comments, files and progress updates
  • You can optionally send automatic notification-emails to your clients when creating comments, completing tasks or updating projects

  • Easy to Use

  • The system was designed to be as straightforward as possible – you’ll be up and running in no time
  • Detailed handbook with installation & use instructions
  • Adaptable layout: you can easily change the system’s theme and logo to match your own corporate identity
  • Automated installation script – no extensive knowledge of PHP/MySQL necessary
  • Extensible: the system is developed with the CakePHP MVC framework and features a clean architecture. This means that, if you have web-development experience, the system is easily extensible

Multilingual Interface

The ClientEngage Project Platform was built with internationalisation in mind: currently, you can select from British and American English as well as German. Furthermore, the system includes Portuguese, Russian and Dutch translations. However, I cannot guarantee the completeness of languages other than English and German as some strings may have changed since the respective language files were added.

Furthermore, translating the ClientEngage Project Platform into other languages is easily possible by translating the main pot file with Poedit ( ), creating a new Locale folder and adding the language code to the Configuration. Please refer to the FAQ section of the ClientEngage Project Platform here on CodeCanyon.

Online Demonstration

Please check-out all of the system’s capabilities by logging in to the online demonstration.
Please note that you cannot perform any saving operations in the demonstration system. Furthermore, the system’s data is reset on every request.

Online demo:
Password: asdf

Test Users:
Admin 1:
Admin 2:
User 1:
User 2:
User 3:
User 4:
User 5:

Documentation & Extensibility

The code is fully documented and written on top of a clean MVC architecture. If you are a seasoned web-developer, you can easily extend the ClientEngage Project Platform and integrate it into your own systems.

System Requirements

  • Apache 2 HTTP Server
  • Preferably with mod_rewrite enabled
  • PHP with a version of greater than PHP 5.2.8
  • MySQL with a version of greater than MySQL 5 (i.e. with InnoDB support)
  • Preferably a subdomain/domain for use with the ClientEngage Project Platform
  • Safe mode: off
  • PHP’s mail() function needs to be enabled / or access to an SMTP account
  • Finally, the PHP PDO extensions (i.e. MySQL PDO) have to be installed

A Thank You to My Contributors:

The following contributors have spent a lot of time and effort on translating the ClientEngage Project Platform. A huge Thank You goes out to:



    - Release of ClientEngage Project Platform v1.4.2
        - NEW: jQuery Chosen plugin for client selection
        - Framework upgrade
    - Release of ClientEngage Project Platform v1.4.1
        - NEW: Ajax search engine for Projects, Phases & Comments
        - NEW: You can now move project phases by changing start or end dates
        - NEW: New button in Phase-view to hide all comments that are not tasks        
        - NEW: Editor now pastes plain text as default + new editing-options
        - NEW: added Spanish translation:
                - a HUGE thank you goes out to the contributor:
        - Fixed minor issues
                - calendar now in front-end layout
                - Fixed where next month's events were missing in current month (clients)
                - Added a spacer between progress & button on small screens
                - Removed autolinking feature (caused trouble with WYSIWYG), instead included link/unlink buttons in editor toolbar
    - Release of ClientEngage Project Platform v1.3.3
        - NEW: favourite-projects function for quick access to your projects
        - NEW: URLs (http://[...]) are now auto-linked
        - NEW: new configuration option to reverse the display of comments (newest first)
        - NEW: added Dutch translation:
                - a HUGE thank you goes out to the contributor:
        - Fixed minor issues
                - fixed instances where the installer failed for some users
                - Linked all project/client/user/phase names to the respective view-pages
                - projects in client-view displayed in order of newest first
                - new quick-access to "Add Phase" function
                - CakePHP framework update (2.3)
                - Twitter Bootstrap Update
                - and countless more minor improvements
    - Release of ClientEngage Project Platform v1.2.9
        - NEW: calendar-overview of project phases
        - NEW: users and administrators can now choose to deactivate email notifications
        - NEW: added Portuguese and Russian translations
                - a HUGE thank you goes out to the contributors:
                    - Russian:
                    - Portuguese:
        - Fixed minor issues:
                - WYSIWYG editor fixed for certain client-configurations
                - The WYSIWYG editor now only fills the available width (caused some issues with regards to controls being hidden in the overflow)
                - Fixed a problem where some users were unable to delete clients
                - DateTime values are now properly localised according to the selected language
                - Fixed an issue whereby Phases' start- and end dates might be saved incorrectly in some timezones
    - Release of ClientEngage Project Platform v1.2.1
        - NEW: user-specific language and timezone handling
        - NEW: ability to duplicate projects for easy re-use in the future
        - NEW: ability to check notification checkboxes by default
        - Framework update
        - Fixed an issue that caused a small number of users to see an error message when saving comments
        - Various enhancements and smaller bug-fixes under the bonnet
    - Release of ClientEngage Project Platform v1.1.5
         - NEW: Configurable email notifications for various activities
         - Minor changes to SMTP email delivery method
         - Various enhancements under the bonnet
    - Release of ClientEngage Project Platform v1.1.0
        - Added the option for clients to update the phase progress (if allowed to)
        - Implemented an additional email transport method: SMTP
        - Minor fixes regarding the way custom layouts are displayed
        - Added a quick-menu for recent projects
        - Show recent activity-history within user profiles
        - Configurable size/dimensions of preview-images when hovering the magnifier-icon
        - Projects can now be archived when done
        - Added "Finders-functions" for all comments with attachments as well as for searching tasks
        - Added an updater for future versions
        - Countless minor improvements
            - Ability to jump to affected elements from within activity-history
            - Offline icons now show users' last activity
            - Longer comment preview texts
            - Fixed an issue of sub-menu displays that can occur when adapting the system layout
            - And much more
    - Release of ClientEngage Project Platform v1.0.1
         - Minor translation fixes
         - Framework update
         - Documentation update
    - Public release of ClientEngage Project Platform v1.0



Latest Posts

KnockoutJS’s Containerless Control Flow Syntax and Issues on 3G Networks

After having extensively worked on a new app, I have finally come-around to the point at which I tested it […]

How to Create a User Online Status in CakePHP

When developing the ClientEngage Project Platform, I implemented a quick and easy way to  indicate users‘ online status. Since then, […]

How to Localise Your JavaScript-Frontend in CakePHP

In this post, I am going to outline a quick and easy solution to using the CakePHP translation facility in your […]