EMAC Project overview:
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
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
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.
Built from scratch Point of Sale (PoS) module
Very detailed, therefore bulky Job system required a lot of steps to create a simple sale. Gradually, the need arose to create something easier and quicker. Some functionality that could place a sale in a few clicks. That was the main idea of the new PoS module. The user clicks on the “New sale” button, fills in the “Client” field, chooses the inventory item to sale and creates the invoice. Nothing extra.
Barcodes and scanners integration
Once the PoS module was created, we’ve faced the necessity to simplify and speed up the inventory search process. We added a new field to inventory items – the barcode field and set up the possibility to use barcode readers within the PoS module. As a result, the only thing the user needs to add some items to the Sale is to scan the barcodes. The elegance of the solution is that you don’t need any special soft or browser extension to be installed, only the scanner driver. This makes it very elastic and easy to use.
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.
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.
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