Opinion Analysis Web Development & Product Design

fb_avatar
LaSoft
  • Score Awaiting client review
    n/a
  • Date Published
  • Reading Time 3-Minute Read
3.-opinion-analysis-case-study-1

A SaaS application for online management and monitoring of partners all over the US.

What is the opinion analysis application?

SaaS application for online management and monitoring of key people’s decisions and political opinions. The application was built with Ruby on Rails and Angular and integrated with Google maps and Slack.

Front-end & Back-end interaction was organized using Cross-origin resource sharing (CORS) technology. We created an API with Angular 1.5.3 and used Angular-restmode to request RoR application. Angular-token-auth was used to communicate with Devise gem. For routing we use angular-ui-router.

Integration with Google search API

During the project, our task was to collect data about people on social networks. We needed Profile Photo from Google + and actual links to Twitter and Facebook. We started our work with Google. After a few days of playing with settings, our team successfully integrated the system with Google search API. Thanks to this function now user can find and save a photo of a needed person within 2 clicks.

Integration with Twitter and Facebook API

Our goal was to link people profiles in our database with their social accounts.

The whole process consists of manual and automated steps:

  • Step 1 – Push on avatar placeholder and pick a photo of a person from Google+. The photo is found based on the name and location of the person.
  • Step 2 – Based on the available information, the system finds an exact link of the person on Twitter and then Facebook.
  • Step 3 – User validates and confirms discovered links. In this case, we were collecting only links, however social network APIs provide access to other profile data, tweets, and Facebook posts as well.

Technology Notes

CORS Technology

Front-end & Back-end interaction was organized using Cross-origin resource sharing (CORS) technology. We created an API with Angular 1.5.3 and used Angular-restmode to request RoR application. Angular-token-auth was used to communicate with Devise gem. For routing we use angular-ui-router.

UI Theme

For styling the application we used LESS CSS – preprocessor, that expands the СSS with additional abilities. With LESS, you can program styles: variables, loops, conditions etc. LESS will optimize/minimize your code and make it reusable.

Making styles consistent in many projects

Sometimes you need to use the same theme on different projects in order to make them look and feel consistent. For this purpose, we created our stand-alone theme with a Bower package. You can achieve this consistency only if you use the same theme for all of your projects of one set.

Build Process

For quality control purpose we set up a Build Process with 3 stages Development, Staging, and Production. We use gulp task-runner to collect and minimize all JavaScript and CSS into one unique run. It became evident for us that Gulp works faster than Grunt and because Gulp works on Node.js Streams it has less and more consistent code.

Content Version Management (CVM)

We used Git for content version management (CVM) and GitHub as an online service for Git.