Project Introduction
HLD
Frontend Layer
AngularJS: Implements the user interface, providing a responsive and interactive dashboard experience. It handles the visualization of reports in different formats.
Database Layer
PostgreSQL: Serves as the primary database, storing all necessary data for requirement generation.
Backend Layer
FastAPI: Acts as the backend framework, handling API requests, connecting to the database, and processing user queries.
OpenAI: Utilized for natural language processing, understanding user queries, and generating requirements.
Discovery Phase Details and Process
Stakeholder Meetings
Engaged with stakeholders to gather requirements and understand their expectations.
Feasibility Study
Evaluated the technical feasibility of the project, ensuring the chosen technologies can meet the requirements.
Requirements Documentation
Documented functional and non-functional requirements, ensuring clarity and alignment with stakeholders.
Schema Analysis
Analyzed the database schema to understand the data structure and relationships.
Prototyping
Developed a prototype to validate the approach and gather initial feedback.
Libraries Used
The project utilizes a variety of libraries to enhance functionality:
SQLAlchemy: For database ORM and schema management.
FastAPI: For API communication.
Databases Used
PostgreSQL: Chosen for its robustness, scalability, and compatibility with the tech stack. It stores all the data required for generating reports and insights.
Integrations Performed
Req-AI integrates multiple technologies and tools to deliver a comprehensive reporting solution:
Database Integration
Connected to PostgreSQL for data retrieval and schema analysis.
API Integration
FastAPI serves as the communication bridge between the front end and back end, handling user queries and data processing.
NLP Integration
Integrated OpenAI and Langchain to process and understand user queries, enabling the generation of relevant insights.
This structured approach ensures that Req-AI efficiently connects to databases, processes user queries, and generates insightful reports in multiple formats.