In the manufacturing sector one of the most important factors to increasing profit margins is by optimizing the production process. Without an effective production scheduling method, deadlines can be missed and labour costs can eat into profits. This isn’t unique to manufacturing, as any business that creates a product needs to manage schedules, but in fabrication where a project can involve manufacturing hundred or thousands of parts a solid method of scheduling those projects is important.
We were approached by Apex Fabrication & Supply Ltd. in London to help take their existing spreadsheet-based schedule and offer a more easily-manageable and flexible system. Apex deals mainly in design and fabrication of sprinkler systems and other custom fabrication needs. They needed a solution that offered an easy-to-manage production schedule where they can add and manage jobs, as well as a special delivery schedule system where they could assign deliveries for completed jobs to their various drivers. After identified specific needs we built out a custom scheduling system that offered a variety of key features that optimized their production scheduling and their delivery assignment.
Improved Project Management
The heart of the system is in it’s custom calendar system that we built to handle the client’s unique scheduling needs. We looked at several existing solutions and found that none offered exactly what was needed, so we built a customized solution based off the a calendar plugin called FullCalendar. FullCalendar offered a very basic core framework that we then heavily customized to suit our needs. The final calendar system offered the client several unique features including:
- Weld & Thread job types linked to separate schedules.
- Weekend and non-weekend schedules.
- Colour coding jobs.
- Blocking out holidays and blocks of time.
- Reordering scheduled jobs
We simplified the job addition process by creating a small form that allowed Apex to schedule a job immediately after the previous one. By default, weekends were skipped unless a job was specifically scheduled for then and jobs with a duration that ran multiple days automatically spanned.
Apex needed the ability to assign jobs to their own clients, so we built a client management section that allowed them to enter client details. Several of their clients have multiple locations so we built the system to allow additional locations to be assigned to each client through a simple single-screen panel. From the sidebar, the client’s name would have a number appended to the right showing the number of locations that client has. They would then be able to select the exact location when it came time to assign the delivery.
Scheduling deliveries was the second biggest component to this project and had several unique requirements. As jobs were added to the production schedule they would also appear in the Delivery section. When a job was completed Apex could select one of their drivers and drag the job to their delivery schedule. They could assign an order to deliveries and move them between days. If a job duration was changed during production or a job was moved to a different day, the delivery schedule would automatically notify them that the delivery schedule has changed and update the system. After a schedule was set their drivers could log in with their own account and view their delivery schedule for a specific week or day.
The day schedule showed a list of deliveries formatted in a way that allowed it to be printed out for the driver to take with them. The printout showed the delivery location for each job along with a map of the location as well as custom order notes.
Simple User Management
We built the application with a simple user authentication system that allowed Apex to create accounts for their staff. Administrative accounts could be assigned to allow full control of the production and delivery schedule, as well as driver accounts that would allow access to only the delivery schedule of that driver.
Fully-Hosted and Secure
Once the project was finalized we offered the client a secure and fully hosted solution for the application that allowed them instant access to their schedules from wherever they may be. It was set up as a custom virtual server which could easily be migrated to an in-house server down the road if they decide to go that route.
The Technical Details
The full application was built in PHP and MySQL using the Laravel framework and hosted on a secure Linux server. The interface elements were based off the Aquincum theme. The core framework of the calendar is based off a heavily modified version of FullCalendar. The front-end functionality of the application relies heavily on jQuery and AJAX.