GNU/Linux, Open Source, Cloud Computing, DevOps and more...

Private customer area developed in Yii Framework and SugarCRM

No comments

Client: Omitted for reasons of confidentiality. Electricity distribution company (Spain)

This work consisted in implementing an exclusive private area only accessible to customers from the corporate website of an electricity distribution company. This reserved area should display information to customers about their own contracts, monthly consumption and billing data, while should allow modification of its own basic user data.

Yii Framework logoSugarCRM logo

Homepage of private area based on Yii Framework

In addition it was created a specific section for sales agents from this electricity company to allow them to subscribe new contracts and manage promotional codes that would be used later in different marketing actions.

Development based on Yii Framework

After a preliminary analysis it was decided to completely separate the customer area from ​​the rest of the corporate website based on WordPress, place it on a separate subdomain and start the development from scratch based on Yii Framework. Although the application was not going to be divided into frontend and backend nor was to have an API to communicate with other applications, the Yiinitializr advanced template was taken in order to allow future expansion and implementation of new features not yet planned, but likely due the growth my client was experiencing.

Integration with SugarCRM

One of the main requirements and great feature of this design is that all the information displayed to users within the customer area is stored into a backend based on SugarCRM which is extensively described in another article from my portfolio: SugarCRM extensive customization for electricity marketer company.

Form to connect SugarCRM accounts to user accounts in Yii Framework

Therefore, it was necessary to implement a SugarCRM <-> Yii Framework interface to integrate both solutions and to share customer data, contracts, consumption and billing data taken directly from the SugarCRM database, the Yii application acting as a presentation layer such information.

Datos del módulo Cuentas de SugarCRMYii-SugarCRM integration, agents contract form

Responsive design based on Bootstrap framework

User interface has a clean HTML5+CSS3+jQuery design based on Bootstrap framework that is fully responsive, ie, adaptable to all kinds of devices, whether desktop PCs, tablets or other mobile devices such as smartphones. This provides a very light and fast application that meets the latest standards in web design and is fully accessible to every user.

User management

In order to protect the information inside the customer area a fully automatic user registration system was implemented wich allowed them to sign up without involving anyone else in the whole process and verify the existence of a previous contract to prove the user is a customer verifying data from past invoices. Other features of user registration system included verification and forgotten password emails, remember user sessions for 15 days, user data modification, role-based authorization to differentiate regular users from sales agents, etc.

User login pagePreferences and basic user data modification

Screenshots

Below is a collection of screenshots showing other features offered by this customer private area:

SugarCRM custom Contracts module (ListView)SugarCRM custom Invoices module

Example of a customer contract stored into SugarCRMSample contract coming from SugarCRM

Electricity consumptions per periodConsumption detail



 

About the author

Daniel López Azaña
Cloud Solutions Architect

Entrepreneur, a generator of ideas and restless mind. Passionate about new technologies, especially Linux systems and Open Source Software. I also like to write about Technology News, Cloud Computing, DevOps, System Security, Web Development and Programming, SEO, Science, Innovation, Entrepreneurship, etc.

DanielPrivate customer area developed in Yii Framework and SugarCRM

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.