idea2Life architecture

idea2Life system architecture

idea2Life architecture below: Take a look at idea2Life general architecture.

idea2life ai architecture

idea2Life could be broadly divided in main module and ai module here the main module could be further divided into following sub modules:

  1. Browser main screen : This is the main screen hosted at <idea2Life_url>:1813 which you then connect to when starting out idea2life. For more detail about this screen you can look at following document. How to navigate idea2Life home page. On clicking on an of the page link it send requests back to idea2Life UI controller for appropriate redirects.

  2. Browser Prototype screen : This is the browser Prototype screen hosted at <idea2Life_url>:1813/generator/ui/ which you get redirected at after clicking on Prototype link on main screen. Take a look at this link if you want to know more about Prototype process using this screen. idea2Life Prototype screen.

  3. Browser admin/customize screen : This is the admin screen hosted at <idea2Life_url>:1813/admin/ which you will get redirected at after clicking on Customize link on main page. Take a look at this link if you want to know more about process of customization of generated pages using this screen. idea2Life customize screen.

  4. UI controller : This is the main controller written in Javascript. located at <idea2life_repo>/idea2life/server.js. All other services for idea2Life talks to this controller for all requests and response.

  5. Generator service : This is the generator service for idea2Life, this is the primary module responsible for generating html content from either xml layout or request for prototype page based on theme. Controller service talks to this module for both of these tasks.

  6. Customization module : This is the Customization module which performs most of the page customization tasks that are requested by Customize screen, UI controller sends request received by browser related to page customizations tasks like rename generated pages, change fonts etc to this module. Which then completes these tasks and returns customized pages back to controller.

  7. Layout module : This is the layout module written in Javascript. This module converts json received from ai module, solves page layout problem and sends result back into xml format to controller module.

idea2Life ai module architecture

idea2Life ai module architecture below:

idea2life ai architecture
  1. Server module : This is the main service module which hosts rest endpoint for performing ai Template detection tasks. Main controller service sends JSON Image data to svc endpoint of ai module link. This module then sanitizes json response and then calls Template detect modules for detection of layout template from image. Once detection of templates is completed, This then sends result back to idea2life main controller. Additionally it hosts one debug endpoint, use this endpoint if you want to check output of template detection for debug purposes.

  2. Template detect module : This module is used for actual template detection, It receives Image sent by server module. Converts input image from base64 to binary format, performs image resizing. After this a call to pre-trained object detection neural network model using PyYolo library is performed. This deep learning model file we have trained by using Darknet/YOLO object detection library. After performing object detection using python pyyolo library, It then does further detection of extra sub templates like BigParagraph from existing elements like paragraph, using method templates_sub_detection. A further processing is performed using check_N_fix_overlap method for fixing overlap between two detected bounding box. Finally result is sent back to ai server module.