GoShow is a Resources Management System oriented for managing Events & Conferences. Its designed to handle the entire process from planning to event ending, handing the exhibitors, locations, inventory of products, in-location labor and freight delivering to the events. Also, it includes different modules and options including a Mobile Attendee Portal, Shipping Kiosk for in-place freight management and more.
Our client has reached us asking for help with an extreme software redesign, core updates for main application in order to create a more flexible and scalable platform as well ass add many new features to the system.
The idea for the new platform is to be able to provide ability to include service on demand for new clients, that's why we've chosen a new architecture for the system based on a API Restful core with different client applications (frontend apps) for each module.
We defined the Core API backend server based on Laravel 5 making sure that all the elements where in place to allow for scaling when needed. We started from scratch a new Angular app to implement the frontend. The web application has been designed with the new UI/UX recommendations, to reach that we have combined Bootstrap framework with latest HTML5 features.
We created a base application from which we can expand the different modules as needed for each new feature.
From the very beginning, we have integrated an automated testing software to validate all the new interfaces and functionalities. This allowed us to detect issue and apply fixes just during development process, reducing issues when releasing beta instances.
We divided our team to work in parallel, one team focused on the UI/UX and the other one working on backend server and RESTful API. Two different teams working at the same time have gave us more speed on the development phase. Also allows to have a shared base from which quickly create each module interface allowing a common interface reference to make the users experience (UX) the same across all the platform.
During the development phase of the new version, we had to make a deep review and enhancements on existing platform (production server) to meet new PCI compliance requirements because the system started handling payment and sensitive information, orders, freights details and labor done during an event for a new client, including a payment gateway processor inside the platform.
Besides the architectural changes, we enhanced the current system allowing to have a more fine grain permission system, automated cache for data using Redis and other big structural changes that allows to have more control over the administration of the resources inside the platform having every movement of the system audited for control. This last item is essential to get PCI compliance in place and allows better managing for the administrators letting them know who modified what and when was done.
For PCI compliance job, we have improved the existing PHP Zend Framework, fixed several BUGs and non-standard modules. At the end, we are able to pass PCI scan.
As part of the process to understand the current business rules to suggest changes and improvements, we have worked providing support for the current PHP version of the application, allowing it to be PCI compliance to launch the application for managing events of one of the biggest shipping company on USA.
The web application has been setup under Amazon Web Services (AWS). Thanks to this scalability and flexible approach, the system allows a custom solutions for each client when necessary. Thus, the main application is adapted to different conditions based on the event requirements.
- Amazon AWS: Amazon Web Services (AWS) is a subsidiary of Amazon.com that provides on-demand cloud computing platforms to individuals, companies and governments
- Laravel 5: The PHP Framework For Web Artisans based on MVC. We used it for the RESTful API
- MySQL: We defined the database using InnoDB engine for integrity on required tables and MyISAM for faster queries to non-relational tables.
- AngularJS: it has been designed for building web-apps. Include a declarative templates with data-binding, MVC pattern and more awesome features. Using Angular v4
- SCSS: pre-procesador de hojas de estilo CSS