graph LR
Frontend_UI["Frontend UI"]
Backend_API["Backend API"]
Authentication_Authorization_Service["Authentication & Authorization Service"]
Database_Service["Database Service"]
AI_Model_Integration_Service["AI Model Integration Service"]
GitHub_Integration_Service["GitHub Integration Service"]
Diagram_Generation_Service["Diagram Generation Service"]
Frontend_UI -- "sends requests to" --> Backend_API
Backend_API -- "sends responses to" --> Frontend_UI
Backend_API -- "communicates with" --> Authentication_Authorization_Service
Backend_API -- "interacts with" --> Database_Service
Backend_API -- "invokes" --> AI_Model_Integration_Service
Backend_API -- "calls" --> GitHub_Integration_Service
Backend_API -- "triggers" --> Diagram_Generation_Service
Authentication_Authorization_Service -- "stores/retrieves data from" --> Database_Service
Database_Service -- "provides data to" --> Authentication_Authorization_Service
AI_Model_Integration_Service -- "sends responses to" --> Backend_API
GitHub_Integration_Service -- "sends data to" --> Backend_API
Diagram_Generation_Service -- "returns data to" --> Backend_API
click Authentication_Authorization_Service href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/gitdiagram/Authentication_Authorization_Service.md" "Details"
click GitHub_Integration_Service href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/gitdiagram/GitHub_Integration_Service.md" "Details"
AI-powered SaaS Web Application / Developer Tool with AI Integration
Provides the interactive user interface and experience, handling all client-side logic, data presentation, and user input. It is built using Next.js, TypeScript, Tailwind CSS, and ShadCN.
Related Classes/Methods:
app/(1:1)components/ui/(1:1)
Serves as the central application logic layer, exposing API endpoints for the Frontend UI and orchestrating interactions with other internal services. It processes business logic, handles data flow, and manages external integrations. Implemented with FastAPI and Python, potentially leveraging Server Actions.
Related Classes/Methods:
api/(1:1)backend/(1:1)app/api/(1:1)
Authentication & Authorization Service [Expand]
Manages user identity, including registration, login, session management, and logout. It also handles access control, ensuring users have appropriate permissions to access specific application features and data.
Related Classes/Methods:
app.auth.login(1:1)app.auth.logout(1:1)app.auth.authorize(1:1)
Provides robust and persistent data storage for the entire application. This includes user profiles, project configurations, generated diagrams, and any other operational data. It utilizes PostgreSQL and Drizzle ORM for data management.
Related Classes/Methods:
db/schema.py(1:1)db/client.py(1:1)
Encapsulates all logic related to interacting with external AI models, specifically OpenAI o4-mini. This includes preparing prompts, sending requests to the AI API, and processing the generated responses for use within the application.
Related Classes/Methods:
ai/openai_client.py(1:1)
GitHub Integration Service [Expand]
Manages all communication and data exchange with the GitHub API. This enables the developer tool to access user repositories, read code, and potentially perform actions on GitHub, crucial for its functionality as a developer tool.
Related Classes/Methods:
github/(1:1)integrations/github.py(1:1)
Contains the specialized business logic responsible for transforming various inputs (e.g., code structures, data models, user specifications) into visual diagrams. This is the unique and core functionality of the developer tool.
Related Classes/Methods:
diagram_generator/(1:1)core/diagram.py(1:1)