Application development process
#1. Requirements analysis:
At this stage, functional and non-functional requirements for the intermediary application are determined. The requirements may include functions related to connecting with support chat and chatbot, message processing, data exchange, etc.
#2. Architecture design:
Here, you design the architecture of the intermediary application based on the Symfony framework, taking into account the requirements and functionalities it needs to perform. It is also important to consider asynchronous processing using RabbitMQ.
#3. RASA model development:
This stage involves creating models trained with RASA that will be used to process user messages and generate responses. This includes creating a set of intents, entities, dialogue rules, and example responses.
#4. Integration with RabbitMQ:
At this stage, you integrate RabbitMQ to ensure asynchronous message processing between the intermediary application and other parts of the system.
#5. Backend development:
Here, you will need to develop the backend part of the intermediary application using Symfony framework, where you handle user requests, pass them to RASA models for processing, and receive responses.
#6. Integration with support chat:
At this stage, you need to integrate the intermediary application with support chat to establish a connection, receive incoming messages from support operators, and send responses.
#7. Testing and debugging:
After completing development, conduct testing to verify the functionality and correctness of the intermediary application's operation. Debugging may be required to fix errors or unexpected behavior.
#8. Deployment and scaling:
After successful testing, the intermediary application is ready for deployment on a server and launching in a production environment. It is also important to consider system scalability if it will handle a large number of messages.9. Support and updates: After deployment, regular maintenance, support, and updates are required for the intermediary application. This may include bug fixes, adding new functionality, and updating versions of used components.