Yii framework example that meets all modern needs. Unleashing EMAC potential

Volodymyr Lytvynov
Share

EMAC Project overview:

Project: https://www.emac.com.au/

Backend Technologies used: PHP, Yii framework, Codeception
Fronend Technolodgies used: JS, HTML5, CSS3, Angular
Custom Integrations used: PayPal, Xero

People Involved: 3

Timeframe: ongoing support

Prehistory

EMAC is a global job management system that is aimed at tracking business processes while gaining productivity. It makes control over business processes faster and easier without adding hassle to your life. Founded in Sydney, Australia, nowadays it has grown into a multinational company with hundreds of clients all over the world. EMAC is developed with Yii framework, and this allows to make emphasis on simplicity and accessibility. You don’t have to install any software to start using it. Furthermore, you have no need to spend extra effort to integrate your data. EMAC is a good example of the flexibility of Yii framework. It gives an opportunity to make all processes maximally automated, including testing.

Benefits of Yii framework

While choosing a framework to work with, we’ve paid our attention to the advantages of Yii and here they are:

  • It is fast and well secured
  • Yii gives the highest productivity if compared with other PHP frameworks
  • It is easily adjustable to your needs and loads only necessary features
  • Yii PHP framework supports caching pages and individual fragments
  • Using AJAX and integration with jQuery means that you can make a smart and intuitive user interface
  • Perfect Yii documentation and community

Main objectives:

When EMAC and Skynix LLC started to cooperate, EMAC was already established as a company and was on the way of rapid growth and development. So, the main objective of our collaboration with EMAC was to refine up and increase their functionality as a job management service. Wide scopes for business control and the administration that the company offers had to be finely tuned up and some bugs had to be fixed. Made with a powerful Yii framework, the system has a huge potential to realize which is a constant task for Skynix LLC developers.

Special features examples:

During the development process, our team has faced numerous objectives, related to Yii PHP framework. The implementation of some solutions was really brainstorming and required a non-standard approach.

  • Completely rebuilt server architecture using AWS (Amazon web services)

What if I tell you that your Yii project can work 1.5~2 times faster?
Frankly speaking, it was a real surprise even for us. We aimed to increase stability and gain protection against all kinds of suddennesses. To catch it up, we:
a) moved to AWS;
b) figured out the new architecture that contained several services, located on a few clusters
As a result, we got a stable system flying like a space shuttle even with massive databases. Fantastic fiction? No, simply best practices.

  • Setting up personal inventory

One of the features of EMAC management system is inventory. For a great while, it was absolutely common – every participant of the tool had access to the whole storage. But since EMAC was aimed at creating an ideal inventory system to meet unique business requirements, the task was to categorize the inventory with the ability to give a different level of access to various users, so that particular account could use only his own inventory. Skynix accepted the challenge, and the solution was found in a matter of hours. As a result, the system is now much more modernized and user-friendly.

  • Enabling the negative stock option

Inventory did not allow clients to get into the red by default. To make it possible, we had to improve inventory logic. Now users can operate with inventory even if the number of items in stock is 0. Also, this possibility can be enabled or disabled for different user roles, depending on each client’s needs.

  • Low stock alerts

To make inventory more convenient in use, the warning option was enabled. When the number of items runs to some critical point, the owner is being warned via email. This option is completely settable: clients have the possibility to set a specific critical number for each item separately, enable and disable this option for each inventory item. Users can choose whether to get emails for each item separately, to receive a list with all low stock alerts, or both. Also, it can be turned on/off in the global settings.

  • Price levels

Another example of Yii framework flexibility. The goal was in making different, completely editable price levels for inventory items so that each of them could be sold at two or more (that is settable too) different prices. This feature is very useful for clients that often deal with trade/retail and discounting sell options.

  • Custom types of entities

Adding completely editable and customiseble types of key entities (such as Clients). Now user can add as many types as he requires. They can be used for filtering and export purposes.

  • Resurfacing Xero integration

Xero is a cloud-based accounting service for payment processing. Installed with a factory set API was rather raw, so there was a need to make some improvements. For example, blank information in the fields being sent could overwrite previously saved data. This forced users to always enter data before sending, which is not critical, but uncomfortable. Optimizing data transfer we eliminated this drawback.

What’s next?

Facilitating interaction with the system is a continuous task. Skynix is always here to introduce new improvements as it is needed. Revealing hidden possibilities and all the advantages of Yii PHP framework, EMAC becomes more and more user-friendly each month

Comments

Write a comment

This field cannot be empty
Enter at least 2 characters
Not a valid email address

get in touch

YOUR SEARCH FOR YOUR DREAM TEAM ENDS HERE

Drop us a few lines about your project and we'll get back to you within one business day

Thank you for your inquiry! Someone from our team will contact you shortly.
I have read and accepted Terms & Conditions and Privacy Policy