Posts

Implementing Advanced Search and Data Export Functionality in a CMS Application

Overview: In response to the growing complexity of content management needs, a CMS application sought to enhance its search and data export capabilities. The goal was to improve the user experience by providing a more efficient way to search through content and export data based on search criteria. The solution involved implementing a custom query builder, integrating a paginator, and enabling both page-based and all-data exports. Challenges: The existing CMS lacked a robust search mechanism and efficient data export options. Users faced difficulties in finding specific content and exporting large datasets. The challenges were as follows: 1. Inefficient Search:  The existing search function was basic, resulting in incomplete or inaccurate search results. 2. Data Export Limitations:  Exporting data was a time-consuming process, often leading to timeouts or incomplete exports for larger datasets. 3. Lack of Granularity:  Users couldn't export only specific search results; t...

Staged Event Driven Architecture for highly concurrent systems

Image
Brief: Anything connected to internet has the probability of accessing its resources from anywhere at any given time from any number of users. As the "any number of users" translates to the number of users can be from 1 to billion at any given time. Arises the question of, how we are going to allocate resources accessible by the users of any number? Lets break things up , So any number of user can be accessing resources at any time, says clearly the need arises dynamically. So lets say we can dynamically increase our resources at any time. A fictious controller that is responsible for increasing the resource pool as per the load. The Staged Event driven system : Consider every call towards the system as Event. Each Event can be processed by Network of Stages. Why Events should be processed by "Network of Stages"? Lets take HTTP request as an example, 1. A Socket connection Event is established with the server and request is read from Socket 2. The HTTP request packe...