The Scrapi case study by ADCI Solutions

About the client

How a scrapping service works

About the project

The technical part

  • Amazon Web Hosting set up;
  • GitLab CI set up (for deployment);
  • Architecture;
  • REST API back end;
  • Integration with third-party services for the following: receiving the information about the car with the help of its registration number, address search, mailing;
  • Email newsletter set up via Sendinblue;
  • CRM integration;
  • Isomorphic front-end application built with Next.js;
  • Testing;
  • Post-release support, update, and new features development.

Business challenge

First of all, we had to get the pages of the application rendered by search engines properly. A little teaser: we used a server-side rendering approach and successfully reached this goal.

Solution

Back end

  • A ready-made architecture for custom functionality is based on services and plugins — it allows developers to focus on business logic rather than on the core of the entire system.
  • Drupal 8 Core is based on the popular Symfony components, so it is easier to figure it out for developers with experience working with PHP frameworks: the basic concepts more or less are the same.
  • The ready-made admin dashboard goes out-of-the-box, it’s possible to customize the data structure from the admin panel without dealing with low-level SQL queries or working with ORM.
  • The possibility to change the configuration of the CMS in the admin panel.
  • There is a system for import/export of active configurations from the database to .yml files and vice versa.
  • Drupal allows you to transfer changes made in the admin panel (settings of the CMS, modules, data) between environments (development, test, production).
  • Headless Drupal and the API-first approach support.
  • Caching system based on Varnish and Memcached;
  • The Contenta CMS distribution used for building REST API;
  • The possibility to build custom pages out of ready-made blocks — paragraphs (Drupal solution);
  • Meta tags to make the website user-friendly;
  • Data import: there are prices for the metal in different regions being imported from external resources;
  • Integration with different APIs: the vehicle recognition by its registration number, the search of addresses, the Sendinblue API integration for CRM contacts management, and automatic email campaigns launch;
  • Complex business logic being tested in many conditions: for example, the car with a particular vehicle registration number could have been already scrapped (someone could have entered the wrong number). In this case, we have to check the car’s VIN to recognize what vehicle we have here.

Front end

  • is an isomorphic web application
  • uses the Next.js server-side rendering

Instead of conclusion

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
ADCI Solutions

ADCI Solutions

We help businesses thrive online and get to the market faster than their competitors. https://www.adcisolutions.com/