Industry

Media

Technology

AngularJS, NodeJS, Sails.js, PhantomJS, Gulp, Sass, HTML5, CSS3.

Services

  • Full-cycle web development
  • Front-end development
  • Back-end development
  • Quality assurance
  • Technical consultancy

Customer’s Location

flagThe United States / Italy

About the project

The client is the North American bureau of Il Sole 24 ORE, Italy’s leading financial daily newspaper, published by 24 Ore Group. In the field of services tailored to professionals and businesses, the Group enjoys a solid competitive market position thanks to its databanks, online services, and training programs.

The challenge

Sites belonging to the 24 Ore Group are built with old technologies and look outdated.

Moreover, their owners share the same issue as our customer – as the systems are huge, have lots of dependencies, and have been developed over the years. Rewriting legacy apps from scratch or migrating them to new technologies would take a lot of time and, even more important – a solid budget.

Since, from a technical perspective, the most important part of the website for readers is the customer-facing front end, the idea was to renew only this part. To develop a solution that could be plugged into any existing web app or CMS, use its data, but display them in its own way.

In addition, the solution had to:

  • Improve the accessibility of content on the web
  • Provide better tools for content producers
  • Meet the needs of both users and search engines
  • Offer a cost-effective platform

The solution

The ELITEX team didn’t want to start with the traditional approach of building apps for the web. Instead, we rethought the architecture and decided to go another way. The chosen solution was more similar to that of building a mobile app.

img
img
img
img
img
img

1/4

We chose JavaScript as the primary language.

On top of JavaScript itself, it was decided to use AngularJS, Node.js, and Sails.js. From the project management perspective, the scrum pattern was chosen so the team was able to show the customer the interim results each sprint.

The system was built with a microservice architecture. That means that the server-side app consists of two parts:

  • REST API that responds to users’ requests
  • Service that gets content from external data sources, parses, and stores it in our database.

These services communicate with the help of queues and can be easily scaled. Our developers used a MongoDB database to handle large volumes of structured and unstructured data.

The specific architecture allows most of the pages to be loaded without any delay at all, meaning the application is blazingly fast. It was accomplished as a big part of the logic, as well as templates, are preloaded and cached on the front end.

The user’s browser loads it only once during the first visit to the site. When the user opens any data on the app, there is no need to render the page on the server and load everything from the beginning.

The server works as a REST API, returning only raw data. This includes the newly published content – the site loads all the latest data at once. It is a powerful approach to creating modern web applications.

Avatar
Pier Paolo Bozzano
Head of Software Development | America24

Moreover, the right architecture implemented by the ELITEX team enabled a couple of other great features:

  • The app can work offline.
    It is possible as all the recent data is preloaded, and there is no need to make requests to the server. The user may not even notice that their device went offline as the app continues working smoothly.
  • All the additional infrastructure needed for the platform to work is one single cheap server.
    We have chosen a small AWS instance for our needs. As the back end doesn’t play a key role anymore, one server can handle a pretty big load; therefore, the platform can save a reasonable budget on the infrastructure and its maintenance. In case a particular site has a really huge number of users, the backend can be easily scaled horizontally.

As one of the key goals was to build a system that could work on top of existing web apps, Salsify was designed to be easily adapted to the existing back-ends – e.g., various APIs, XML feeds, and CMS (WordPress, Methode, etc.)

At the same time, the UI design can be easily changed to the needs of the particular site as well, considering that the templates, typography, and styles are properly separated from the logic.

The result

As a result, ELITEX has met the goal of engineering a blazingly fast, efficient, and smooth state-of-the-art system that is able to make the web faster. The platform was successfully delivered to the customer, who could take it to the next level.

Let’s Talk About Your Project

Drop us a line! We would love to hear from you.

Should be a valid email address