IGRiT.pl - Online Agricultural and Commodity Exchange

IGRiT.pl - Online Agricultural and Commodity Exchange

IGRiT.pl is the largest online agricultural and commodity exchange in Poland, connecting sellers and buyers from the agricultural sector. Our task was to refresh, modernize, and streamline the functionality of the existing service to meet the needs of farmers, producers, and trade intermediaries. Below we present a detailed case study of the implementation of the IGRiT.pl project.

Technologies used

Check which technologies we used to complete the order

Laravel

Next.JS

React

PHP

JavaScript

TypeScript

Tailwind

Docker

PostgreSQL

Redis

RabbitMQ

Minio

Redux

Zustand

Cypress

Pusher

ElasticSearch

Kibana

Grafana

And many others ...

Project goals

Platform modernization

As part of the platform modernization, we have implemented the latest technologies to ensure maximum performance and scalability. We have migrated to PHP 8.3, which has allowed us to leverage new language features, increase processing speed, and enhance security. Instead of using Blade as a templating engine, we opted for Next.js, a modern framework for building React applications that enables server-side rendering (SSR) and static site generation (SSG), significantly speeding up page load times and improving SEO optimization. With Next.js, our pages are more dynamic, responsive, and better tailored to user needs. The modernization of the platform utilizing PHP 8.3 and Next.js allows us to create more advanced and efficient solutions that meet user expectations and the challenges of the future.

Platform modernization

W ramach modernizacji platformy zastosowaliśmy najnowsze technologie, aby zapewnić jej maksymalną wydajność i skalowalność. Postawiliśmy na PHP 8.3 wraz z framerworkiem Laravel, co pozwoliło na wykorzystanie nowych funkcji języka, zwiększenie szybkości działania oraz poprawę bezpieczeństwa. Zamiast używać Blade jako silnika szablonów, zdecydowaliśmy się na Next.js, nowoczesny framework do budowania aplikacji React, który umożliwia renderowanie po stronie serwera (SSR) i generowanie statycznych stron (SSG), co znacząco przyspiesza ładowanie stron i poprawia optymalizację SEO. Dzięki Next.js nasze strony są bardziej dynamiczne, responsywne i lepiej dostosowane do potrzeb użytkowników. Modernizacja platformy z wykorzystaniem PHP 8.3 i Next.js pozwala nam tworzyć bardziej zaawansowane i efektywne rozwiązania, które sprostają oczekiwaniom użytkowników oraz wyzwaniom przyszłości.

Platform modernization

As part of the platform modernization, we have implemented the latest technologies to ensure maximum performance and scalability. We have migrated to PHP 8.3, which has allowed us to leverage new language features, increase processing speed, and enhance security. Instead of using Blade as a templating engine, we opted for Next.js, a modern framework for building React applications that enables server-side rendering (SSR) and static site generation (SSG), significantly speeding up page load times and improving SEO optimization. With Next.js, our pages are more dynamic, responsive, and better tailored to user needs. The modernization of the platform utilizing PHP 8.3 and Next.js allows us to create more advanced and efficient solutions that meet user expectations and the challenges of the future.

Increase in microservices buyback

According to our client's expectations, we have set the goal of increasing the share of microservices in the service's revenue so that they become the main source of income, instead of the current advertisements.

Increase in microservices buyback

According to our client's expectations, we have set the goal of increasing the share of microservices in the service's revenue so that they become the main source of income, instead of the current advertisements.

Increase in microservices buyback

According to our client's expectations, we have set the goal of increasing the share of microservices in the service's revenue so that they become the main source of income, instead of the current advertisements.

Dodatkowe usługi

We have introduced a points system that allows users to accumulate points for various activities on the site and then use them to purchase services available on the platform. Additionally, we have developed a package system that enables users to buy services at more cost-effective options. The packages include various combinations of services, allowing users to tailor their choices to their individual needs and budget.

Dodatkowe usługi

We have introduced a points system that allows users to accumulate points for various activities on the site and then use them to purchase services available on the platform. Additionally, we have developed a package system that enables users to buy services at more cost-effective options. The packages include various combinations of services, allowing users to tailor their choices to their individual needs and budget.

Dodatkowe usługi

We have introduced a points system that allows users to accumulate points for various activities on the site and then use them to purchase services available on the platform. Additionally, we have developed a package system that enables users to buy services at more cost-effective options. The packages include various combinations of services, allowing users to tailor their choices to their individual needs and budget.

Optymalizacja

Aby zapewnić najwyższą wydajność serwisu, zastosowaliśmy zaawansowane technologie optymalizacyjne. Dzięki Laravel Octane zwiększyliśmy szybkość i obsługę większej liczby żądań na sekundę. Zintegrowaliśmy ElasticSearch dla efektywnego przeszukiwania danych oraz Redis do zarządzania pamięcią podręczną i sesjami użytkowników, co przyspiesza dostęp do często używanych danych. Wprowadziliśmy także RabbitMQ do asynchronicznego przetwarzania zadań, co zwiększa responsywność i pozwala na obsługę większej liczby jednoczesnych użytkowników. Te narzędzia pozwalają nam dostarczać wydajne i skalowalne rozwiązania, które spełniają wymagania naszych użytkowników.

Optymalizacja

Aby zapewnić najwyższą wydajność serwisu, zastosowaliśmy zaawansowane technologie optymalizacyjne. Dzięki Laravel Octane zwiększyliśmy szybkość i obsługę większej liczby żądań na sekundę. Zintegrowaliśmy ElasticSearch dla efektywnego przeszukiwania danych oraz Redis do zarządzania pamięcią podręczną i sesjami użytkowników, co przyspiesza dostęp do często używanych danych. Wprowadziliśmy także RabbitMQ do asynchronicznego przetwarzania zadań, co zwiększa responsywność i pozwala na obsługę większej liczby jednoczesnych użytkowników. Te narzędzia pozwalają nam dostarczać wydajne i skalowalne rozwiązania, które spełniają wymagania naszych użytkowników.

Optymalizacja

Aby zapewnić najwyższą wydajność serwisu, zastosowaliśmy zaawansowane technologie optymalizacyjne. Dzięki Laravel Octane zwiększyliśmy szybkość i obsługę większej liczby żądań na sekundę. Zintegrowaliśmy ElasticSearch dla efektywnego przeszukiwania danych oraz Redis do zarządzania pamięcią podręczną i sesjami użytkowników, co przyspiesza dostęp do często używanych danych. Wprowadziliśmy także RabbitMQ do asynchronicznego przetwarzania zadań, co zwiększa responsywność i pozwala na obsługę większej liczby jednoczesnych użytkowników. Te narzędzia pozwalają nam dostarczać wydajne i skalowalne rozwiązania, które spełniają wymagania naszych użytkowników.

OPTYMALIZACJA

Maksymalizacja wydajności serwisu

W celu zapewnienia najwyższej wydajności i szybkości działania serwisu, zastosowaliśmy kilka zaawansowanych technologii optymalizacyjnych.

Wprowadziliśmy Laravel Octane, aby zwiększyć szybkość i wydajność aplikacji. Laravel Octane korzysta z długotrwałych procesów, co pozwala na obsługę większej liczby żądań na sekundę oraz skrócenie czasu odpowiedzi serwera.

Zintegrowaliśmy ElasticSearch w celu efektywnego przeszukiwania danych. ElasticSearch pozwala na szybkie i dokładne przetwarzanie dużych ilości informacji, co znacząco poprawia doświadczenie użytkownika podczas korzystania z wyszukiwarki serwisu.

Używamy Redis do zarządzania pamięcią podręczną oraz do przechowywania sesji użytkowników. Redis jest wysoce wydajną bazą danych typu key-value, która przyspiesza dostęp do często używanych danych i zmniejsza obciążenie bazy danych.

Wprowadziliśmy również RabbitMQ do zarządzania kolejkowaniem zadań. RabbitMQ pozwala na asynchroniczne przetwarzanie zadań, co zwiększa wydajność aplikacji poprzez rozładowanie intensywnych operacji z głównego cyklu żądania-odpowiedzi. Dzięki temu aplikacja jest bardziej responsywna i może obsługiwać większą ilość jednoczesnych użytkowników.

Te zaawansowane narzędzia optymalizacyjne umożliwiają nam dostarczanie wysokowydajnych i skalowalnych rozwiązań, które sprostają wymaganiom naszych użytkowników i zapewnią im najlepsze doświadczenia podczas korzystania z serwisu.

SCOPE OF WORK

Key features

System pakietów

01

Stworzyliśmy system pakietów, który umożliwia użytkownikom nabywanie usług po bardziej atrakcyjnych cenach.

System pakietów

01

Stworzyliśmy system pakietów, który umożliwia użytkownikom nabywanie usług po bardziej atrakcyjnych cenach.

Chat on the platform

02

W nowej platformie wprowadziliśmy funkcję czatu, dzięki której użytkownicy mogą się ze sobą komunikować w wygodny i bezpośredni sposób.

Chat on the platform

02

W nowej platformie wprowadziliśmy funkcję czatu, dzięki której użytkownicy mogą się ze sobą komunikować w wygodny i bezpośredni sposób.

Filtry i atrybuty

03

Stworzyliśmy wydajny i niezwykle elastyczny system atrybutów, który pozwala użytkownikom na wyszukiwanie interesujących ich ogłoszeń za pomocą zaawansowanych filtrów.

Filtry i atrybuty

03

Stworzyliśmy wydajny i niezwykle elastyczny system atrybutów, który pozwala użytkownikom na wyszukiwanie interesujących ich ogłoszeń za pomocą zaawansowanych filtrów.

Portfel

04

Wprowadziliśmy system portfela użytkownika, umożliwiający płatności za usługi oraz pakiety za pomocą wirtualnej waluty dostępnej w serwisie.

Portfel

04

Wprowadziliśmy system portfela użytkownika, umożliwiający płatności za usługi oraz pakiety za pomocą wirtualnej waluty dostępnej w serwisie.