By Belatrix Software | Topics: Software Development
This Client is a professional services company that sustains and maintains multiple child companies, among which we find a Multi Level Marketing company that manufactures and sells nutritional supplements, elixirs and beverages.
Multi Level Marketing, which describes a marketing structure and is designed to create a marketing and sales force by compensating promoters of company products not only for sales they personally generate, but also for the sales of other promoters they introduce to the company, creating a downline of distributors and a hierarchy of multiple levels of compensation, acting in the core as the heart and soul of the business.
A Multi Level Marketing company’s commission plan is more complex than that of a retail establishment, or for that matter, a traditional direct sales company. Our challenge is analyze, design, develop and maintain three inter related applications, providing flexibility to the ever growing need for change, consisting of, in the first place, an online e-business application, where distributors and customers place their orders, change their profile, see their downline, withdraw money from their virtual accounts and manage their replicated personalized e-commerce sites. Secondly, a user call center, where users assume the identity of any distributor or customer and manage their accounts, enabling the company to offer client support. And lastly an administration tool, used by the company´s employees to manage products, prices, sales, users, etc., acting as a central backbone, holding together all the applications seen by the users in the Front End.
With the client we decided to architect a an n-tier system with three application layers that communicate through the Spring Framework, providing the necessary infrastructure. Using MySQL database to ultimately store the data.
The first layer is the Front End Layer made up of three web applications, developed using Java™ technologies. One of them, the Call Center Application, is built on the Back Office, which is a web application as well. The third application is the Administration Tool, which is independent from the other two applications. These applications use the Inversion of Control (IoC) offered by the Spring Framework to access the Business API. The Spring Framework is a complete lightweight container, providing centralized, automated configuration and wiring of your application objects. The container is non-invasive, capable of assembling a complex system from a set of loosely-coupled components (POJOs) in a consistent and transparent fashion. The container brings agility and leverage, and improves application testability and scalability by allowing software components to be first developed and tested in isolation, then scaled up for deployment in any environment. The second layer is the Business API, in charge of: processing the system’s logic: accessing the data, processing it and passing it to the applications. The third layer is the Domain Model, responsible for handling the data, representing the data in an object oriented form. Underlying the layers the supporting infrastructure are the databases in mySQL technology.
The ever increasing business need to attract and retain customers implies that the more you communicate and establish a unique connection with people the more likely they are to stay active and involved in the business. Today the reseller needs dynamically updated, real-time information directly on his or her handset, providing an entirely new level of control over every transaction. We developed a mobile version for the back office application aimed for the distributor, enabling access from a BlackBerry or iPhone device, empowering the day to day activities, and keeping in line with the current rhythm of demand.
We work side by side with our client, as a globally integrated team, spanning great geographical distances to achieve true teamwork. This team is composed of a Project Manager in the US, as well as senior developers and QA people. In Argentina, we have a Lead Developer, senior developers and semi-senior developers. From the get-go we embraced Agile Methodologies, holding Scrum meetings with all the team twice a week, where we discuss issues, priorities and any other relevant subject that needs understanding and commitment of all the team.
We invite you to learn how a relationship with Belatrix will give your company a distinctive advantage through low cost, disciplined, and high quality software development and quality assurance services.