Basic Flow
Understanding the Basic System Flow in the Perceive Project
The Perceive Project integrates AI into a .NET 8 microservice architecture to manage interactions from user requests to responses. This process involves users, a portal, Backend-for-Frontend (BFF), services, and tools, detailing the workflow from initial contact through various system components to the final output.

User Roles and Initial Interaction
The system caters to a diverse array of users, including Visitors, Experts, Perceive Experts, Administrators, and Perceive Developers. Each role is equipped with distinct capabilities and access levels, ensuring a tailored interaction with the system.
The journey begins with the user initiating a request through the portal, the web-based frontend serving as the primary interface for user interactions. This initial step sets the stage for the processing pipeline that follows.
The Portal: Gateway to the System
As the user's first point of contact, the portal is pivotal in collecting requests and channeling them appropriately. Operating over a web-based interface, it employs RESTful communication to relay requests to the Backend-for-Frontend (BFF). This ensures a fluid and intuitive experience for the user, paving the way for the request's journey through the system's backend.
The Role of the BFF
The BFF acts as a crucial intermediary, a proxy that bridges the frontend and the microservices at the heart of the system. Its primary function is to forward the incoming requests to the corresponding service, ensuring that each request is processed by the appropriate component. This layer maintains the system's modularity and scalability, essential traits for complex architectures.
Services: The Support Structure
Situated between the BFF and the tools, services play a vital role in enabling the system's functionality. They provide the necessary support for the tools to operate effectively, handling tasks such as uploads, authorization, and other prerequisites. These services ensure that the tools have everything they need to perform their designated operations, acting as the scaffolding for the system's processing capabilities.
Tools: The Processing Powerhouses
At the heart of the Perceive Project's processing pipeline are the tools — the specialized microservices responsible for the core processing tasks. These tools are the main actors in the system's architecture, performing the sophisticated AI and data manipulation operations that define the project's capabilities. Communication between the tools and the services is facilitated through gRPC, enabling efficient and effective data exchange.
The Sequence of Interactions
The system flow follows a structured path: User → Portal → BFF → Service → Tool → Service → BFF → Portal → User. This sequence ensures that each user request is processed accurately and efficiently, from the initial interaction to the final outcome. The flow encapsulates the system's design principles, emphasizing modularity, efficiency, and clarity in processing.
Generating and Presenting the Response
The culmination of the user's request is the generation of a response by the service, which is then conveyed back to the user through the portal. This response encapsulates the results of the processing performed by the tools, presented in a format that is accessible and understandable to the user. It marks the end of the request's journey through the system, providing the user with the information or action they sought.
Conclusion
In conclusion, the basic system flow of the Perceive Project exemplifies the power of a well-architected microservice system. Through the orchestrated interaction of users, the portal, the BFF, services, and tools, the project achieves a level of functionality and flexibility that sets a new standard for AI-enhanced systems. This flow not only ensures efficient processing of requests but also maintains a user-centric approach, making advanced technology accessible and usable for a broad audience.
To read more about the Architecture of the Perceive System, please look at the [Architecture] article.